[JS] 取消http请求

原生的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();

你可能感兴趣的:(前端http)