我需要实现在一个链式promise函数中,中间的任何一个函数错误则程序终止,并且能捕获到出错函数,然后根据不同的出错函数执行不同的操作。如下代码则该如何改进?
请勿在error对象中带信息
function f1(){
return new Promise((resolve,reject) =>{
setTimeout(() =>{
reject("err");
},1000)
})
}
function f2(){
return new Promise((resolve,reject) =>{
setTimeout(() =>{
reject("err");
},1000)
})
}
function f3(){
return new Promise((resolve,reject) =>{
setTimeout(() =>{
reject("err");
},1000)
})
}
const foo = () =>{
return f1().then(() =>{
return f2();
}).then(() =>{
return f3();
}).catch(err =>{
// 如何判断这个错误是哪个函数抛出的??
return err;
})
}
foo();
假如是每一个函数都是向后端发送异步请求,而后端返回的数据格式一定是固定的,也就是说我们不能根据后端返回的数据去判断是哪个函数抛出了错误。该怎么办??
谢谢各位帮忙!
holdtom
阿晨1998
BIG阳
相关分类