如何实现axios不走请求拦截器

整体流程

首先我们需要了解整个流程,下面是一个简单的表格展示了 axios 请求拦截器的流程:

步骤 描述
1 创建一个 axios 实例
2 添加请求拦截器
3 发起请求
4 请求被拦截器拦截
5 跳过请求拦截器
6 发起请求

每一步需要做什么

  1. 创建一个 axios 实例
const axios = require('axios');
const instance = axios.create();
  1. 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});
  1. 发起请求
instance.get('/api/user/12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });
  1. 请求被拦截器拦截

拦截器会在发送请求之前对请求进行处理,如果希望某些请求不走拦截器,可以通过以下方式实现:

const config = {
  // 在这里添加需要跳过拦截器的配置
  skipInterceptors: true
};

instance.get('/api/user/12345', config)
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });
  1. 跳过请求拦截器

当发送请求时,如果配置中包含 skipInterceptors: true,则请求会跳过拦截器,直接发送到服务器。

  1. 发起请求
instance.get('/api/user/12345', {
  skipInterceptors: true
})
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

通过以上步骤,就可以实现 axios 不走请求拦截器的功能。希望对你有所帮助!

关系图

erDiagram
    Request --|> Interceptors
    Interceptors --|> Request

通过以上方法,你就可以成功的实现 axios 不走请求拦截器了。祝你编程愉快!