axios 多个请求拦截器的执行顺序和响应拦截器的执行顺序

D一生 -
axios 多个请求拦截器的执行顺序和响应拦截器的执行顺序

image.png

axios chains数组来保存请求拦截器和ajax请求以及相应拦截器的方法,但是对于请求拦截器是用unshift传入到chains中的,对响应拦截器采用unshift例如
request.hanlders.forEach(item=>chains.unshift(item))
对于response拦截器来说是push
response.hanlders.forEach(item=>chains.push(item))
调用的时候也是用chains
while(chains.length>0){

promise    =    promise.then(chain.shift(),chain.shift())

}
return promise

从上面来讲就能知道为什么 请求拦截器是倒序执行的,响应拦截器是正序执行的
请求拦截器1 = {fullied,reject}
请求拦截器2 = {fullied,reject}
响应拦截器1 = {fullied,reject}
响应拦截器2 = {fullied,reject}
chains = [请求拦截器1,请求拦截器2,dispatchRequest,undefined,响应拦截器1,响应拦截器2]
该文章只为自己记录学习使用

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

javascript前端vue.jscssnode.js

扩展阅读

加个好友,技术交流

1628738909466805.jpg