axios 是在什么情况下走 catch

发布于 2022-09-12 01:56:23 字数 260 浏览 6 评论 0

问一下各位大佬,什么情况 axios 什么情况下走 catch。

axios.post('/api/bhrkqk',selectObj       
    ).then(function(res){  
        // 处理逻辑
    }).catch(function (error) {
        console.log(error)
});

是在处理逻辑里报错走 catch ,还是 ajax 请求错误 走catch?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

最冷一天 2022-09-19 01:56:23

在 then 里逻辑报错会走catch;
请求错误也会走 catch,比如400,500,或者请求超时。

肩上的翅膀 2022-09-19 01:56:23

不只是逻辑报错,参考源码:https://github.com/axios/axio...

取消请求,超时,以及状态码 > 300 都会报错

乞讨 2022-09-19 01:56:23

axios默认的validateStatus是200至300之间,只要http响应的状态码在200至300之间就会走then否则会走catch,当然你也可以自定义validateStatus,例如validateStatus设置为200<=status<500,那么状态码在200至500之间(不包括500)就会走then,状态码为500时不在validateStatus的区间内就会走catch

初懵 2022-09-19 01:56:23

如果你的请求网络层面没有问题都会到then
你在then里面有逻辑处理,比如code===200 resolve 否则return Promise.reject(data) 那么也会走到catch里面

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文