概述`AbortSignal.timeout(ms)` 创建在指定时间后自动触发的中断信号;`AbortSignal.any([...])` 将多个信号组合,任意一个触发即中断。适用于请求超时与用户取消等情境。示例const ctrl = new AbortController() const signal = AbortSignal.any([ctrl.signal, AbortSignal.timeout(5000)]) try { const resp = await fetch('/api', { signal }) } catch (e) { /* 处理超时或取消 */ } // 用户取消 ctrl.abort() 工程建议时序与重试:合理设置超时并在必要时重试;避免过短导致失败率上升。组合场景:结合页面卸载、用户交互取消与后台策略;统一中断通道。兼容:特性检测并回退到手动计时器与 `ctrl.abort()`;记录原因。参考与验证MDN AbortController/AbortSignal 文档:https://developer.mozilla.org/docs/Web/API/AbortControllerweb.dev 请求中断与超时指南:https://web.dev/articles/abort

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部