You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

fetch响应的aborted标识是什么?开发者如何获取该标识?

fetch中止标识相关问题解答

  • aborted标识的本质
    它是fetch规范定义的浏览器内核层面维护的内部状态位,属于响应对象的底层属性,不会直接暴露给JavaScript运行环境。该标识的作用是区分请求失败原因:标记为已设置时,代表请求是被主动中止的,包括开发者调用AbortController中止、页面跳转/卸载触发中止、用户手动停止页面加载等场景,和网络不通、跨域拦截、服务端返回错误码这类常规请求异常做区分。

  • 开发者获取该标识的方式
    规范没有把底层的aborted标识直接开放给开发者调用,而是将该状态映射为上层的标准异常类型对外暴露,开发者不需要直接读取底层标识,通过异常捕获逻辑就能判断是否触发了中止。

  • Chrome下error.name === 'AbortError'判断是否可用
    这个判断逻辑是完全可行的,Chrome以及所有基于Chromium内核的浏览器、Edge、Firefox、Safari 11.1及以上版本都符合这个规范实现。不管是开发者主动调用abort方法触发的请求中止,还是页面跳转、页面卸载这类浏览器主动触发的请求中止,都会抛出name属性为AbortError的DOMException异常,你提供的示例代码可以直接在生产环境使用。

补充注意点:如果是页面跳转触发的fetch中止,有可能catch回调还没执行完页面就已经被卸载,如果需要统计这类中止请求的埋点数据,建议配合beforeunload事件,使用navigator.sendBeacon方法上报数据,避免上报请求也被浏览器中止。

内容的提问来源于stack exchange,提问作者weiju cao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:57:00