axios catch 没有捕获错误

2024-03-23

我在用着axios 0.17.0使用以下代码:

this.props.userSignupRequest(this.state)
  .then( res => { console.log(res.data) } )
  .catch( err => { this.setState({ errors: err.response }) } )

并且服务器设置为返回400当用户注册验证未通过时。这也显示在控制台中:POST 400 (Bad Request),但是setState没有被执行。这是为什么?我也尝试过console.log(err)没事了。


就我而言(axios 0.27.2),400 响应确实被 axios 处理为错误。

此问题可能是由于响应拦截器编写不当而导致的,该拦截器在未处理的情况下不会返回 Promise.reject。

axios.interceptors.response.use(
    (response) => response,
    (error) => {
      if (condition) {
        // Handle error
      } else {
        // This is important, so that unhandled cases make axios throw errors
        return Promise.reject(error);
      }
    }
  );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

axios catch 没有捕获错误 的相关文章

随机推荐