错误处理 Handling Errors

Axios API 错误处理的使用方法与功能介绍

js
axios.get('/user/12345')
  .catch((error) => {
    if (error.response) {
      // 请求成功发出且服务器也响应了状态码,但状态代码超出了 2xx 的范围
      console.log(error.response.data)
      console.log(error.response.status)
      console.log(error.response.headers)
    }
    else if (error.request) {
      // 请求已经成功发起,但没有收到响应
      // `error.request` 在浏览器中是 XMLHttpRequest 的实例,
      // 而在node.js中是 http.ClientRequest 的实例
      console.log(error.request)
    }
    else {
      // 发送请求时出了点问题
      console.log('Error', error.message)
    }
    console.log(error.config)
  })

使用 validateStatus 配置选项,可以自定义抛出错误的 HTTP code。

js
axios.get('/user/12345', {
  validateStatus(status) {
    return status < 500 // 处理状态码小于500的情况
  }
})

使用 toJSON 可以获取更多关于HTTP错误的信息。

js
axios.get('/user/12345')
  .catch((error) => {
    console.log(error.toJSON())
  })