1
Amy 原创整理|资料核验:2026-10-31
【MDN说明】AbortSignal.timeout(time)返回一个会在指定时间后中止的信号,time的单位是毫秒。其依据是活跃时间:worker被挂起,或页面进入往返缓存bfcache时,计时实际上会暂停。因此它不适合直接充当跨页面生命周期的绝对截止时钟。
【教学示例】fetch(url, { signal: AbortSignal.timeout(5000) })表示给支持该信号的请求设置约5秒活跃时间的取消条件。超时时原因是TimeoutError;代码仍需捕获失败并给用户合适反馈。
【Amy的实现建议】网络请求超时与订单、付款等业务截止时间分开设计;业务截止需要独立的时间校验,不能只靠浏览器取消请求。目标浏览器是否支持该方法,也应在发布前按项目兼容范围核对。
官方来源:
https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/timeout_static