[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를 참고할 수 있습니다.