在Axios中取消请求可以通过使用取消令牌来实现。下面是一个包含代码示例的解决方法:
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
axios.get('/api/data', {
cancelToken: source.token
})
.then(response => {
// 请求成功处理
})
.catch(error => {
if (axios.isCancel(error)) {
console.log('请求已取消', error.message);
} else {
// 请求失败处理
}
});
source.cancel()方法:source.cancel('请求取消的原因');
这样就可以取消之前的请求了。取消后,之前的请求将不再执行,并且会触发catch块中的错误处理函数。在错误处理函数中,可以通过axios.isCancel(error)方法来判断是否是取消请求引起的错误。
需要注意的是,取消令牌只能取消尚未完成的请求,已完成的请求不能取消。
此外,如果有多个请求需要取消,可以创建多个取消令牌实例,每个请求使用不同的取消令牌。
上一篇:axios取消的请求无法重新启动