import axios from 'axios';
const CancelToken = axios.CancelToken;
let cancel;
axios.get('/user/12345', {
cancelToken: new CancelToken(function executor(c) {
// An executor function receives a cancel function as a parameter
cancel = c;
})
}).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});
// cancel the request
cancel();
import axios from "axios";
const source = axios.CancelToken.source();
// cancel the request
const clickHandler = () => {
source.cancel("Cancel Token has been cancelled by the user.");
};
axios({
url: "/users",
method: "GET",
cancelToken: source.token, // reference to the axios.CancelToken.source()
})
.then((res) => console.log(res.data))
.catch((err) => console.error(err));
let cancelToken;
const getPosts = async () => {
try {
const response = await axios.get('https://jsonplaceholder.typicode.com/posts', {
cancelToken: new CancelToken(function executor(c) {
cancelToken = c;
})
});
console.log(response.data);
} catch (error) {
console.error(error);
}
};
getPosts();
// cancel the request
setTimeout(() => cancelToken(), 500); // cancel the request after 500ms
如果以上方法还不能解决问题,可以尝试在遇到问题时,向Axios官方提出issue,或者查看StackOverflow等社区中是否有人已经遇到并解决了类似的问题。