猿问

在 js 中如何中止代码往下执行并且不报错求指导!

在vue中封装公共的axios配置axios请求响应拦截
axios.interceptors.response.use((res)=>{
returnres
},(err)=>{
//接口请求失败后,直接返回失败的Promise
returnPromise.reject(error)
})
axios(config).then(res=>{
//请求成功
if(res.code===200){
}else{
//报个错,所有的错误让下面的catch统一处理
throwres
}
}).catch(err=>{
//
alert(err.message)
//在catch中使用throw,如果catch后面还有then,则只会执行到这里的catch,后面的then不再执行
//这个解决的我的问题,但问题是throw会在控制台中输出错误信息,我并不希望它输出错误信息,也不想让它继续往下执行
throwerr
})
大佬们帮忙看下吧,困扰了好长时间了
婷婷同学_
浏览 1009回答 2
2回答

慕的地8271018

axios(config).then(res=>{//请求成功if(res.code===200){}else{//报个错,所有的错误让下面的catch统一处理throwres}}).catch(err=>{//alert(err.message)//在catch中使用throw,如果catch后面还有then,则只会执行到这里的catch,后面的then不再执行//这个解决的我的问题,但问题是throw会在控制台中输出错误信息,我并不希望它输出错误信息,也不想让它继续往下执行throwerr}).then(...).then(...).thne(...).catch(err=>{//在最后再加一个catch,//不要throw,阻止错误信息})

子衿沉夜

为啥不用Promise.reject呢?如果你catch住错误后,还想往下传给别的catch.就returnPromise.reject()就可以了
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答