响应拦截器
响应拦截器
用于 response
到达 then
之前,或 error
到达 catch
之前拦截响应。
通常会用于处理错误,但对于处理错误而言,使用 errorHandler
会是更好的选择。
添加响应拦截器
可以添加响应拦截器。
ts
import axios from 'axios-miniprogram';
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
import axios from 'axios-miniprogram';
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
也可以添加多个响应拦截器,先添加的会先执行。
ts
import axios from 'axios-miniprogram';
// 先添加 先执行
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
// 后添加 后执行
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
import axios from 'axios-miniprogram';
// 先添加 先执行
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
// 后添加 后执行
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
移除响应拦截器
可以移除不再需要的响应拦截器。
ts
import axios from 'axios-miniprogram';
const ejectId = axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
// 移除响应拦截器
axios.interceptors.response.eject(ejectId);
import axios from 'axios-miniprogram';
const ejectId = axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
// 移除响应拦截器
axios.interceptors.response.eject(ejectId);
移除所有响应拦截器
可以移除所有响应拦截器。
ts
import axios from 'axios-miniprogram';
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
// 移除所有响应拦截器
axios.interceptors.response.clear();
import axios from 'axios-miniprogram';
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
axios.interceptors.response.use(
function (response) {
// 在 then 之前做些什么
return response;
},
function (error) {
// 在 catch 之前做些什么
return Promise.reject(error);
},
);
// 移除所有响应拦截器
axios.interceptors.response.clear();