const promise = new Promise((resolve, reject) => {
setTimeout(() => {
let num = 10;
if(num >= 11){
/*비동기 작업 성공*/
resolve(num);
}else{
/*비동기 작업 실패*/
reject("error");
}
}, 1000);
});
// 실행 준서에 맞춰줄 필요가 있을 경우 then을 이어서 작성(콜백지옥에서 해방)
promise.then((num) =>{
console.log("success", num);
}
).then(() => {
console.log("success",num);
}
)
// Promise 객체 생성
const promise = new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
let num = 10;
if (num >= 11) {
/* 비동기 작업 성공 */
resolve(num);
} else {
/* 비동기 작업 실패 */
reject("this is an error");
}
}, 1000);
});
promise
.then((num) => {
console.log("success", num);
})
.catch((error) => {
console.log(error);
});
결과
this is an error
const promise = new Promise((resolve, reject) => {
console.log("start");
resolve();
});
promise
.then(() => {
console.log("success 1");
throw new Error("error");
})
.catch(err) => {
console.log(err);
})
.then(() => {
console.log("success 2");
});