axios拦截器

拦截器

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

// 添加请求拦截器
axios.interceptors.request.use(config => {
    // 在发送请求之前做些什么
    //1、比如config的信息不符合服务器的要求,要对config做一些处理
    //2、比如每次发送网络请求时,都希望在界面中显示一个请求的图标
    //3、某些网络请求必须携带一些特殊的信息
    return config;
  }, error => {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(response => {
    // 对响应数据做点什么
    return response;
  }, error => {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

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

const myInterceptor = axios.interceptors.request.use(function () {/*...*/});
axios.interceptors.request.eject(myInterceptor);

【注】当对同一个 axios 实例添加多个拦截时,请求拦截器先添加的后执行,响应拦截器先添加的先执行

posted @ 2021-05-23 12:19  clienter  阅读(112)  评论(0)    收藏  举报