[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