如何终止fetch发出的请求?

广告位招租
扫码页面底部二维码联系

我们知道xhr可以调用abort来终止请【作者:唐霜】【转载请注明来源】求,但是fetch如何终止却鲜有人知,其本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。实非常简单,只是我们不够了解,即使用Ab未经授权,禁止复制转载。【关注微信公众号:wwwtangshuangnet】ortController,具体如下:

本文作者:唐霜,转载请注明出处。转载请注明出处: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作为信令【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】,当调用controller.abort【访问 www.tangshuang.net 获取更多精彩内容】原创内容,盗版必究。()时,该信令就会发出终止请求的信号,f【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。etch发出的请求就会被终止,其Prom【关注微信公众号:wwwtangshuangnet】【转载请注明来源】ise会抛出一个AbortError。

转载请注明出处:www.tangshuang.net【作者:唐霜】【版权所有,侵权必究】本文版权归作者所有,未经授权不得转载。

2023-01-22 2479

为价值买单,打赏一杯咖啡

本文价值24.79RMB