拦截器 interceptors

Axios API 拦截器的使用方法与功能介绍

在请求或响应被 then 或 catch 处理前拦截它们。

js
// 添加请求拦截器
axios.interceptors.request.use((config) => {
  // 在发送请求之前做些什么
  return config
}, (error) => {
  // 对请求错误做些什么
  return Promise.reject(error)
})

// 添加响应拦截器
axios.interceptors.response.use((response) => {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response
}, (error) => {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error)
})

如果你稍后需要移除拦截器,可以这样:

js
const myInterceptor = axios.interceptors.request.use(() => { /* ... */ })
axios.interceptors.request.eject(myInterceptor)

可以给自定义的 axios 实例添加拦截器。

js
const instance = axios.create()
instance.interceptors.request.use(() => { /* ... */ })