概述AbortController 提供跨 API 的中止信号,常用于取消 `fetch`、流管线与自定义任务。合理的超时与清理策略能减少资源占用并避免僵挂。用法/示例// fetch 中止与超时 const ac = new AbortController() const t = setTimeout(() => ac.abort(), 5000) try { const res = await fetch('/data', { signal: ac.signal }) clearTimeout(t) } catch (e) { /* 处理 AbortError */ } // 流管线中止 const controller = new AbortController() const stream = new ReadableStream({ pull(ctrl) { if (controller.signal.aborted) ctrl.close() ctrl.enqueue(new Uint8Array([1])) } }) controller.abort() 工程建议统一中止路径:为网络、计算与 UI 协作任务传递同一个信号。提供超时与重试策略,并在中止后及时释放资源与状态。对第三方库封装中止支持,避免无法取消的长任务。参考与验证MDN:AbortController — https://developer.mozilla.org/docs/Web/API/AbortControllerMDN:AbortSignal — https://developer.mozilla.org/docs/Web/API/AbortSignal

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部