首页 >web前端 >js教程 >如何在 JavaScript 中取消 Fetch() 请求?

如何在 JavaScript 中取消 Fetch() 请求?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-20 00:34:031062浏览

How Can I Cancel a Fetch() Request in JavaScript?

取消 HTTP Fetch() 请求:分步指南

JavaScript 的新 fetch() API 允许开发人员高效的 HTTP 请求。然而,人们对取消飞行中请求的可能性产生了疑问。虽然最初没有内置机制,但最近引入了一个新功能:信号参数。

TL/DR:

截至 2017 年 9 月,获取()引入了信号参数。不过,浏览器支持情况各不相同。

2020 更新:

大多数主流浏览器现在都支持信号参数(Edge、Firefox、Chrome、Safari、Opera 等)。

工作原理:

  1. 创建一个 AbortController。
  2. 获取 AbortController 的信号。
  3. 将信号传递给fetch() 作为参数。
  4. 必要时中止请求。

示例:

const controller = new AbortController();
const signal = controller.signal;

fetch(urlToFetch, {
    method: 'get',
    signal: signal,
})
.then(function(response) {
    console.log(`Fetch complete. (Not aborted)`);
}).catch(function(err) {
    console.error(` Err: ${err}`);
});

controller.abort();

请注意浏览器支持此功能可能会有所不同。然而,随着浏览器的不断更新,预计很快就会提供对取消 fetch() 请求的广泛支持。

以上是如何在 JavaScript 中取消 Fetch() 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn