Skip to content
导航

请求拦截器

请求拦截器

用于请求发送前拦截请求。

通常会用于转换请求配置,或实现一些自定义功能。

添加请求拦截器

可以添加请求拦截器。

ts
import axios from 'axios-miniprogram';

axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);
import axios from 'axios-miniprogram';

axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

也可以添加多个请求拦截器,后添加的会先执行。

ts
import axios from 'axios-miniprogram';

// 先添加 后执行
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

// 后添加 先执行
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);
import axios from 'axios-miniprogram';

// 先添加 后执行
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

// 后添加 先执行
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

移除请求拦截器

可以移除不再需要的请求拦截器。

ts
import axios from 'axios-miniprogram';

const ejectId = axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

// 移除请求拦截器
axios.interceptors.request.eject(ejectId);
import axios from 'axios-miniprogram';

const ejectId = axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

// 移除请求拦截器
axios.interceptors.request.eject(ejectId);

移除所有请求拦截器

可以移除所有请求拦截器。

ts
import axios from 'axios-miniprogram';

axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

// 移除所有请求拦截器
axios.interceptors.request.clear();
import axios from 'axios-miniprogram';

axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  },
);

// 移除所有请求拦截器
axios.interceptors.request.clear();