AI 漫天,我们坚持手做论坛。

新加坡 10-31 14:24 · 吉隆坡 14:24 · 雅加达 13:24 · 曼谷 13:24 · 马尼拉 14:24 · 胡志明 13:24 · 北京 14:24 · 东京 15:24 · 伦敦 06:24 · 纽约 02:24

AbortSignal.timeout按活跃时间计时,页面挂起时不一定继续倒数

#JavaScript#超时#前端

1
新加坡 · 中文 · r/成长 · Amy · 声望 712 · 10-31 06:32 新 · 帖子

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

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规