使用【AbortController】终止请求

AbortController 是一个 Web API,用于终止一个或多个 Web 请求。当你使用 fetch API 发送异步请求时,你可能需要在某些情况下主动终止这些请求。使用 AbortController 可以实现这一功能。

基本用法:

  1. 创建一个 AbortController 实例:

    javascript 复制代码
    const controller = new AbortController();
  2. 通过 controller.signal 获取信号,并在 fetch 请求中使用它:

    javascript 复制代码
    fetch(url, { signal: controller.signal })
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(err => {
        if (err.name === 'AbortError') {
          console.log('Fetch aborted');
        } else {
          console.error('Fetch error:', err);
        }
      });
  3. 终止请求 : 当你需要取消 fetch 请求时,可以调用 controller.abort() 方法。

    javascript 复制代码
    controller.abort();

使用 AbortController 可以让你更好地控制资源和提高应用的性能,尤其是在处理需要长时间等待的请求或者在组件卸载时取消未完成的请求时非常有用。

笔者在react中取消请求,遇到了此问题,记录一下,共勉!

相关推荐
爱勇宝1 天前
初创公司的“自己人”,到底能当多久?
前端·后端·程序员
晴天161 天前
前端模块化规范全景解析:CommonJS、AMD、ESM、UMD
前端
三十而立洋1 天前
深入理解 npm:从核心机制到常用命令全解析
前端·前端工程化
Canace1 天前
最新版 Codex 工作流的问题
前端·人工智能·agent
变与不变8061 天前
引用类型、内存原理与对象
开发语言·前端·javascript
jearry1 天前
给 C++ 老程序补现代 UI:WebView2 多入口资源加载与虚拟主机名实践
前端
打呵欠的猫1 天前
让 AI 帮你写 Git Commit Message:从"fix bug"到语义化提交只需一个 Hook
前端·ai编程
labixiong1 天前
CSS 锚点定位实测:零 JS 实现气泡跟随,自动翻转很香但暗藏 3 个致命坑
前端·css
qibmz1 天前
用 DeepSeek 给 GitHub 仓库加 PR 自动 Review
前端
计算机魔术师1 天前
幻觉率从 4.2% 降到 2% 又退回,GPT-6 Astra 到底在藏什么
前端