axios 是在什么情况下走 catch

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

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

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

阅读 15.6k
4 个回答

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

新手上路,请多包涵

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里面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题