专栏名称: 程序员成长指北
专注 Node.js 技术栈分享,从 前端 到 Node.js 再到 后端数据库,祝您成为优秀的高级 Node.js 全栈工程师。一个有趣的且乐于分享的人。座右铭:今天未完成的,明天更不会完成。
目录
相关文章推荐
今天看啥  ›  专栏  ›  程序员成长指北

为何说 AbortController 是前端一把利剑?

程序员成长指北  · 公众号  ·  · 2025-02-04 21:55
    

文章预览

点击上方  程序员成长指北 ,关注公众号 回复 1 ,加入高级Node交流群 1. 通过 AbortController 提前终止 fetch 首先看一个例子,其使用 AbortController 来实现可以提前中止的 fetch: fetchButton.onclick = async () => { const controller = new AbortController(); // 添加取消按钮 abortButton.onclick = () => controller.abort(); try { const r = await fetch( "/json" , { signal: controller.signal}); const json = await r.json(); // 这里执行业务逻辑 } catch (e) { const isUserAbort = e.name === "AbortError" ; // 如果是 AbortController 取消的则是 AbortError(一种 DOMException) } }; 上面示例展示了在 AbortController 出现之前不可能实现的事情,即 主动取消网络请求 。浏览器将提前终止 fetch,从而节省用户网络带宽。当然,提前终止也不必非要由用户手动发起。 上面示例中 controller.signal 返回的是 AbortSignal ,其 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览