一、取消请求用到的方法为:
var request = new XMLHttpRequest();
request.abort()
二、axios的原理为:ajax+promise
三、axios 取消请求用法参考官网,如下图:
![](https://img.haomeiwen.com/i23964155/045eb2d84ffba6e5.png)
四、axios 取消请求的原理
首先执行的1步:source.token 为promise对象,用执行方式表达的话,是存放在异步队列中的
其次执行的2步:同样的axios请求也是promise对象,存放在异步队列中的
如果没有调用source.cancel方法的话,source.token不存在的,在执行的第二步当中,判断了cancelToken是否存在。存在则执行request.abort()。不存在则继续发送请求。
如果同步调用source.cancel方法的话,首先执行的1步赋值source.token,这样在第二步当中,判断cancelToken是否存在。存在则执行request.abort()
总结:看了下源码,发现根本原理是用到了事件循环机制。
网友评论