axios 是在什么情况下走 catch
问一下各位大佬,什么情况 axios 什么情况下走 catch。
axios.post('/api/bhrkqk',selectObj
).then(function(res){
// 处理逻辑
}).catch(function (error) {
console.log(error)
});
是在处理逻辑里报错走 catch ,还是 ajax 请求错误 走catch?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 then 里逻辑报错会走catch;
请求错误也会走 catch,比如400,500,或者请求超时。
不只是逻辑报错,参考源码:https://github.com/axios/axio...
取消请求,超时,以及状态码 > 300 都会报错
axios默认的validateStatus是200至300之间,只要http响应的状态码在200至300之间就会走then否则会走catch,当然你也可以自定义validateStatus,例如validateStatus设置为200<=status<500,那么状态码在200至500之间(不包括500)就会走then,状态码为500时不在validateStatus的区间内就会走catch
如果你的请求网络层面没有问题都会到then
你在then里面有逻辑处理,比如code===200 resolve 否则return Promise.reject(data) 那么也会走到catch里面