(一)拦截器:
在请求或响应被处理前拦截他们
// 先声明axios实例
let service = axios.create({
baseUrl: 'localhost:8080',
timeout: 3000,
headers: {
'X-Requested-With': 'XMLHttpRequest'
}
})
// use里面放两个函数,第一个函数是成功做什么,第二个是失败做什么
service.interceptors.response.use((res) => {
// 响应成功做什么 返回响应res res本质是Promise
return res
}, (err) => {
// 响应失败做什么
return Promise.reject(err)
})
service.interceptors.request.use((config) => {
// 在发送请求前做事 请求前的回调函数
// 返回请求config config本质是Promise
return config
}, (err) => {
// 请求错误做什么
return Promise.reject(err)
})
以上就是拦截器的写法
(二)拦截器的执行顺序问题
无论是响应拦截器还是请求拦截器都可以写多个,那么他们的执行顺序是什么呢?
首先拦截器的执行时机: