Axios 取消请求

Axios 的现代取消方式是 AbortController;旧的 CancelToken 已废弃。

#type / concept #status / growing #tech / network #platform / browser #resource / http #resource / javascript #package / axios

[!info] related notes

Axios 取消请求

一句话定义

Axios 通过 AbortControllersignal 取消请求;老的 CancelToken 已经不建议新项目使用。

核心内容

推荐写法

const controller = new AbortController()

axios.get('/users', {
  signal: controller.signal
})

controller.abort()

取消和超时不是一回事

  • timeout 主要管响应超时
  • abort 主要管主动中断

常见场景

  • 搜索框连续输入,只保留最后一次
  • 路由切换时取消旧请求
  • 组件卸载时终止飞行中的请求
  • 上传/下载中断

边界与易混淆点

  • CancelToken 是旧方案
  • 取消请求后应该把异常路径也纳入统一错误处理
  • timeoutabort 往往要一起考虑

最短记忆方式

  • 新方案:AbortController
  • 旧方案:CancelToken
  • 取消用于主动中断,请别和超时混为一谈
创建于 2026/4/7 更新于 2026/4/9