最近在看一些面试题,无意中翻到一些有意思的问题,发出去的请求还可以取消的?然后自己看文章试了一下,还真他娘的可以。所以在这里我记录一下,不然过个几个月又给全忘了。
Fetch中断请求
我们要用到的是AbortController
(AbortController - Web API 接口参考 | MDN)接口中的AbortController()构造函数,然后将AbortController()中的signal对象作为请求项传递,再调用AbortController()中的abort()方法中断。
<body>
<button class="download">开始请求</button>
<button class="abort">终止请求</button>
<script>
// 使用AbortController()构造函数创建一个控制器
const controller = new AbortController();
let signal = controller.signal;
console.log("signal 的初始状态:", signal);
const downloadBtn = document.querySelector(".download");
const abortBtn = document.qu