[javascript] Promise 체이닝

자바스크립트에서 Promise는 비동기 작업을 다루는 데 유용한 기능입니다. Promise 체이닝은 여러 개의 비동기 작업을 순차적으로 처리하기 위해 사용됩니다.

function asyncTask1() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('Task 1 completed');
    }, 1000);
  });
}

function asyncTask2() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('Task 2 completed');
    }, 1500);
  });
}

asyncTask1()
  .then(result => {
    console.log(result);
    return asyncTask2();
  })
  .then(result => {
    console.log(result);
  })
  .catch(error => {
    console.error(error);
  });

위의 예제 코드에서는 두 개의 비동기 작업을 순차적으로 처리하기 위해 asyncTask1()을 호출한 후 첫 번째 작업이 완료되면 asyncTask2()를 호출합니다. 각 then 블록은 각각의 작업이 완료될 때 실행됩니다.

Promise 체이닝을 사용하면 코드를 보다 직관적으로 작성할 수 있으며, 비동기 작업의 순서를 명확하게 표현할 수 있습니다.

참고 자료: MDN web docs - Promise