javascript - Axios : which HTTP response status codes result in then() and which in catch()?

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

假设我们有以下JavaScript代码:

axios.get('/some-url')
  .then((response) => {...})
  .catch((error) => {...});
默认情况下,响应的哪个HTTP状态代码导致.then()被调用,以及哪个.catch()

最佳答案

这由设置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;
    }
});

关于javascript - Axios : which HTTP response status codes result in then() and which in catch()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64591521/

相关文章:

excel - 如何修复运行时1004 : No cells were found error

sql - 插入选择继续错误

javascript - Axios url get html响应请求为200,但response.data为空

javascript - 如何使用javascript从URL中获取斜杠后的值?

javascript - 如何在动态接口(interface)中访问泛型类型属性

javascript - phantomjs/casperjs 计算 DOM 元素

javascript - 在 vue 和 axios 中使用 img

javascript - 没有 hashbang 的动态 Web 应用程序 #!

javascript - 使用 XMLHttpRequest 时如何处理 JavaScript 中的 "Access to restricted URI denied"错误?

mysql - React 提交到 Flask POST 方法不写入数据库(使用 Axios)