Promise 예제
const stage1_Error = false;
const stage2_Error = false;
const stage3_Error = false;
function stage1(){
return new Promise((resolve, reject) => {
setTimeout(() => {
if(stage1_Error === false) resolve('stage1 clear');
else reject(new Error(`stage1 Error`));
}, 1000);
});
}
function stage2(ele){
return new Promise((resolve, reject) => {
setTimeout(() => {
if(stage2_Error === false) resolve(`${ele} -> stage2 clear`);
else reject(new Error(`stage2 Error`));
}, 2000);
});
}
function stage3(ele){
return new Promise((resolve, reject) => {
setTimeout(() => {
if(stage3_Error === false) resolve(`${ele} -> stage3 clear`);
else reject(new Error(`stage3 Error`));
}, 2000);
});
}
stage1()
.catch((error) => {
console.log(error);
return 'stage1 skip';
})
.then(ele => stage2(ele))
.catch((error) => {
console.log(error);
return 'stage2 skip';
})
.then(ele => stage3(ele))
.catch((error) => {
console.log(error);
return 'stage3 skip';
})
.then((ele) => console.log(`${ele} Finish`))
.catch(console.log);
댓글
댓글 쓰기