原生的XMLHttpRequest对象取消请求,用对象实例上的abort方法。
代码如下
const xhr = new XMLHttpRequest();
xhr .open("GET","https://www.google.com", true);
xhr.send();
setTimeout(() => xhr .abort(), 10);
axios取消请求
axios 的 cancel token API 是基于被撤销 cancelable promises proposal。
官方文档里写了两种方法取消axios的请求。
其一是使用 CancelToken.source 工厂方法,其二是传递 executor 函数到 CancelToken 的构造函数。
这里我用第二种。
const CancelToken = axios.CancelToken;
let cancel;
axios.get('/user/12345', {
cancelToken: new CancelToken(function executor(c) {
// executor 函数接收一个 cancel 函数作为参数
cancel = c; // 把执行取消的函数赋给cancel
})
});
// 取消请求
cancel();
举个实际使用的例子
注: 可以使用同一个 cancel token 取消多个请求。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。