AbortController
什么是AbortController?
- AbortController 是现代浏览器提供的 Web API,用于中止一个或多个 Web 请求。它已经成为取消异步操作的标准方式。
AbortController 对象 和 AbortSignal 对象
- AbortController 对象:主控制器,用于创建和管理中止信号
- AbortSignal 对象:通过 controller.signal 访问、用于传递给可中止的操作(如 fetch、Axios 请求)、包含一个 aborted 属性,表示是否已被中止
工作原理
- 创建一个 AbortController 实例
- 将它的 signal 属性传递给可中止的操作
- 当需要取消时,调用 controller.abort()
- 操作会检测到 signal 的中止状态,停止执行
实际应用场景
- 用户离开页面时取消未完成的请求
- 搜索框输入时取消前一个搜索请求
- 上传/下载大文件时提供取消功能
- 竞态条件处理(确保只处理最新请求的响应)

浙公网安备 33010602011771号