拦截器
拦截器用于在请求或响应处理前进行拦截,分为请求拦截器和响应拦截器。
请求拦截器
在发送请求前,通过函数处理请求参数或内容。若无问题则发送请求,有问题我们可以直接停止发送该请求。
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);