Resolve, Reject 그리고 에러핸들링
const delayAdd = (index, cb, errorCb) => {
setTimeout(()=>{
if(index > 10){
errorCb(`${index}는 10보다 클수 없습니다.`)
return;
}
console.log(index);
cb(index+1);
},1000)
}
delayAdd(
13,
res => console.log(res),
err => console.error(err)
)
Resolve, Reject 그리고 Promise로 에러핸들링
const delayAdd = index => {
return new Promise((resolve,reject)=>{
setTimeout(()=>{
if(index > 10){
reject(`${index}는 10보다 클수 없습니다.`)
return;
}
console.log(index);
resolve(index+1);
},1000)
})
}
delayAdd(13)
.then(res=> console.log(res))
.catch(err=> console.error(err))
Resolve, Reject 그리고 async await 에러핸들링
const wrap = async () =>{
try{
const res = await delayAdd(2)
console.log(res);
}catch(err){
console.log(err);
}finally{
console.log('done');
}
}
wrap();