pro-collection / interview-question

目标:收集全网经典面试问题
535 stars 37 forks source link

axios 是否可以取消请求【热度: 532】 #795

Open yanlele opened 1 month ago

yanlele commented 1 month ago

关键词:取消请求

Axios 可以取消请求。官方文档指出有两种方法可以取消请求,分别是cancelTokenAbortController,示例代码如下:

const CancelToken = axios.CancelToken;
const source = CancelToken.source();
axios.post("/user/12345", { name: "new name" }, { cancelToken: source.token });
source.cancel("Operation canceled by the user.");
const CancelToken = axios.CancelToken;
let cancel;
axios.get("/user/12345", {
  cancelToken: new CancelToken(function executor(c) {
    cancel = c;
  }),
});
cancel();
const controller = new AbortController();
axios.get("/foo/bar", { signal: controller.signal }).then(function (response) {
  //...
});
controller.abort();

通过文档描述和示例代码,可以总结出以下功能点: