【问题标题】:Axios: which HTTP response status codes result in then() and which in catch()?Axios:哪些 HTTP 响应状态代码导致 then() 和哪些 catch()?
【发布时间】:2021-02-11 22:06:05
【问题描述】:

假设我们有以下 JavaScript 代码:

axios.get('/some-url')
  .then((response) => {...})
  .catch((error) => {...});

默认情况下,响应的哪些HTTP状态码导致.then()被调用,哪些在.catch()

【问题讨论】:

    标签: javascript error-handling axios http-status-codes


    【解决方案1】:

    这由设置validateStatus 决定。

    lib/defaults.js中默认设置如下:

    validateStatus: function validateStatus(status) {
        return status >= 200 && status < 300;
    }
    

    因此,200 范围内的任何状态代码都将导致调用 .then(),而任何其他状态代码将导致调用 .catch()

    可以改成如下:

    let myAxiosInstance = axios.create({
        validateStatus: function (status) {
            return status >= 200 && status < 500;
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 2021-04-20
      • 1970-01-01
      • 2017-09-09
      • 1970-01-01
      • 1970-01-01
      • 2011-02-26
      • 2020-09-24
      • 1970-01-01
      相关资源
      最近更新 更多