中断请求的使用
1  | let cancel = null;  | 
由代码的使用可以得知,通过在配置项中添加 cancelToken 配置项,该配置项调用的是
源码片段node_modules/axios/lib/cancel/CancelToken.js
1  | /**  | 
node_modules/axios/lib/adapters/xhr.js
1  | module.exports = function xhrAdapter(config) {  | 
通过上面的片段可以得知,在配置项中假如 cancelToken 配置项(该配置项是通过 CancelToken 构造函数创建出来的实例,那么该实例上存在 promise 属性,用于表示 promise 的状态),那么在适配器 adapter 中会判断是否存在 cancelToken 配置项,如果存在,则会调用 cancelToken 上的 promise 属性,通过 promise 的 then 方法,当我们改变了该 promise 的状态,就中断请求
模拟实现如下
1  | //CancelToken构造函数  | 
我们还需要修改适配器中的代码
1  | function xhrAdapter(config) {  | 
测试代码
1  | //获取按钮 以上为模拟实现的代码  |