拦截器
- 拦截器: 在请求或响应被
then或catch处理前拦截它们
请求拦截器:
// 添加请求拦截器
axios.interceptors.request.use(
function (config) {
// 在发送请求之前做些什么
//(1)axios发请求 (2)进入请求拦截器 (3)请求发送服务器
//显示loading
return config// 本次请求配置信息
},
function (error) {
// 对请求错误做些什么
return Promise.reject(error)
}
)
响应拦截器:
// 添加响应拦截器
axios.interceptors.response.use(
function (response) {
// 对响应数据做点什么
//隐藏loading
//(1)服务器响应 (2)执行响应拦截 (3)执行axios的then方法
return response//服务器响应数据
},
function (error) {
// 对响应错误做点什么
return Promise.reject(error)
}
)
移除拦截器
如果你想在稍后移除拦截器,可以这样:
const myInterceptor = axios.interceptors.request.use(function () {/*...*/});
axios.interceptors.request.eject(myInterceptor);
也可以为自定义 axios 实例添加拦截器
const instance = axios.create();
instance.interceptors.request.use(function () {/*...*/});
总结: 拦截器是个固定写法只可以增加,不可以改变和删除,一般情况是不会删除拦截器的