在项目中调用一些有先后顺序的接口的时候(使用promise调用链),有时候某个接口返回了错误信息,不能继续处理。如果代码对这种情况不处理的话,就会报错了,那该如何解决呢?
getData(){ // 方法
getTypes().then(res=>{ // 接口1
if(res.data){
return getDetail() // 返回pomise调用接口2
}else{
return new Promise(function(resolve, reject){ // 手动返回错误,并在catch中处理
reject('没有返回类型')
});
}
}).then(res=>{
// 处理接口2,getDetail返回的数据
}).catch(error=>{
// 根据返回的错误,进行相应的处理
})
}