【问题标题】:how axios promise define errorsaxios promise 如何定义错误
【发布时间】:2016-09-07 16:31:29
【问题描述】:

我有一些关于 Promise 和 axios 的问题。

在下面的axios示例中,我想知道它是如何定义运行catch代码的。

是否基于响应http状态码?像 400?

axios.get('/user?ID=12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (response) {
    console.log(response);
  });

谢谢。

【问题讨论】:

    标签: javascript promise axios


    【解决方案1】:

    我的理解是,如果发生任何类型的网络问题,或者如果服务器响应错误代码,那么承诺就会被拒绝。

    来自服务器的错误代码是客户端错误 (4XX) 或服务器错误 (5XX)。 Status code definitions.

    tests in the source code 中,您可以看到维护者在拒绝承诺时正在测试什么。

    【讨论】:

      【解决方案2】:

      你可以从 axios 的源码中找到答案。

      https://github.com/mzabriskie/axios/blob/62db26b58854f53beed0d9513b5cf18615c64a2d/lib/defaults.js#L73

      axios 会检查 validateStatus,如果 status >= 200 && status 会解决。否则如果 status = 300,它将拒绝。

      【讨论】:

        猜你喜欢
        • 2016-05-28
        • 1970-01-01
        • 2017-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-25
        相关资源
        最近更新 更多