拦截器

拦截器用于在请求或响应处理前进行拦截,分为请求拦截器和响应拦截器。

请求拦截器

在发送请求前,通过函数处理请求参数或内容。若无问题则发送请求,有问题我们可以直接停止发送该请求。

1// 添加请求拦截器
2axios.interceptors.request.use(
3  (config) => {
4    // 请求前处理
5    return config;
6  },
7  (error) => {
8    // 请求错误处理
9    return Promise.reject(error);
10  }
11);

响应拦截器

服务器返回结果后,通过回调函数预处理响应数据,如格式化或统一处理失败结果。

1// 添加响应拦截器
2axios.interceptors.response.use(
3  (response) => {
4    // 处理响应数据
5    // 任何处于2xx范围内的状态码都会触发这个函数
6    return response;
7  },
8  (error) => {
9    // 处理响应错误
10    // 任何不在2xx范围内的状态码都会触发这个函数
11    return Promise.reject(error);
12  }
13);