响应拦截器1 => 响应拦截器 2 => 请求的回调
注意: 此流程是通过 promise 串连起来的, 请求拦截器传递的是 config, 响应 拦截器传递的是 response
...cancel 函数取消请求
在错误回调中判断如果 error 是 cancel, 做相应处理
实现功能 点击按钮, 取消某个正在请求中的请求,
实现功能 点击按钮, 取消某个正在请求中的请求
<script...请求拦截器:
Ⅰ- 在真正发送请求前执行的回调函数
Ⅱ- 可以对请求进行检查或配置进行特定处理
Ⅲ- 成功的回调函数, 传递的默认是 config(也必须是)
Ⅳ- 失败的回调函数, 传递的默认是...error
响应拦截器
Ⅰ- 在请求得到响应后执行的回调函数
Ⅱ- 可以对响应数据进行特定处理
Ⅲ- 成功的回调函数, 传递的默认是 response
Ⅳ- 失败的回调函数, 传递的默认是 error...拦截器的模拟实现
array.shift()该方法用于把数组的第一个元素从其中删除,并返回第一个元素的值
思路为先将拦截器的响应回调与请求回调都压入一个数组中,之后进行遍历运行
promise = promise.then