我们知道xhr可以调用abort来终止请【转载请注明来源】【转载请注明来源】求,但是fetch如何终止却鲜有人知,其【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。实非常简单,只是我们不够了解,即使用Ab【版权所有】唐霜 www.tangshuang.net【作者:唐霜】ortController,具体如下:
【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】原创内容,盗版必究。const controller = new AbortController();
const signal = controller.signal;
const url = "video.mp4";
const downloadBtn = document.querySelector(".download");
const abortBtn = document.querySelector(".abort");
downloadBtn.addEventListener("click", fetchVideo);
abortBtn.addEventListener("click", () => {
controller.abort();
console.log("Download aborted");
});
function fetchVideo() {
fetch(url, { signal })
.then((response) => {
console.log("Download complete", response);
})
.catch((err) => {
console.error(`Download error: ${err.message}`);
});
}
即在fetch时传入signal作为信令本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】,当调用controller.abort未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net()时,该信令就会发出终止请求的信号,f本文版权归作者所有,未经授权不得转载。【本文受版权保护】etch发出的请求就会被终止,其Prom转载请注明出处:www.tangshuang.net【版权所有,侵权必究】ise会抛出一个AbortError。
原创内容,盗版必究。本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】
