通过 cancelToken 实现
具体代码如下:
<script>
//获取按钮
const btns = document.querySelectorAll('button');
//2.声明全局变量
let cancel = null;
//发送请求
btns[0].onclick = function () {
// 检测上一次的请求是否已经完成
if (cancel !== null) {
// 取消掉上一次请求
cancel()
}
axios({
method: 'get',
url: 'http://localhost:3000/posts',
// 取消请求配置
cancelToken: new axios.CancelToken(function (c) {
cancel = c
})
}).then((res) => {
console.log(res);
// 重置cancel
cancel = null;
})
}
btns[1].onclick = function () {
cancel()
}
</script>