[typescript] 프로미스 체이닝 방법에는 어떤 것들이 있나요?

프로미스 생성

가장 먼저, 프로미스를 생성하여 비동기 작업을 수행합니다.

const myAsyncFunc = (): Promise<string> => {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    if (/* 작업 성공 시 */) {
      resolve("Success");
    } else {
      reject("Error");
    }
  });
};

체이닝

다음으로, 프로미스를 체이닝하여 순차적으로 작업을 처리할 수 있습니다.

myAsyncFunc()
  .then((result) => {
    // 첫 번째 작업 후 처리
    return new Promise((resolve) => {
      // 다음 비동기 작업 수행
      resolve("Next step");
    });
  })
  .then((result) => {
    // 두 번째 작업 후 처리
    console.log(result);
  })
  .catch((error) => {
    // 에러 처리
    console.error(error);
  });

위의 예시에서, then을 사용하여 각 단계에서의 결과를 다음 단계로 연결하고, catch를 사용하여 에러를 처리할 수 있습니다.

이외에도 async/await를 사용하여 보다 간단하고 가독성 있는 프로미스 체이닝을 구현할 수도 있습니다. 이러한 방법을 통해 TypeScript에서 효율적인 비동기 작업 처리가 가능합니다.

더 자세한 내용은 MDN web docs를 참고할 수 있습니다.