前端请求取消:用 AbortController 从 fetch 到 axios
前端开发里,页面切换、用户重复操作,都可能让尚未完成的请求变成“孤儿”。这些请求如果继续影响当前页面,数据和 UI 状态就容易变得不可控。
取消这些无效请求,可以避免旧结果继续影响当前页面。请求取消本身不难:实例化一个 AbortController,把 signal 传给请求,需要取消时调用 abort()。难的是,真实项目里请求通常会经过 axios 实例、二次封装的 axios、业务 API,最后才到页面组件。那么 AbortController 应该在哪里创建?signal 要怎么传?多个请求又该怎么处理?