在Axios中取消请求可以使用Cancel和CancelToken实现。当取消一个请求时,请求会静默地失败,不会触发错误处理函数。
以下是使用Axios取消令牌取消请求的代码示例:
import axios from 'axios';
// 创建取消令牌
const cancelTokenSource = axios.CancelToken.source();
// 发送请求
axios.get('https://api.example.com/data', {
cancelToken: cancelTokenSource.token
})
.then(response => {
// 处理响应
console.log(response.data);
})
.catch(error => {
// 请求被取消,静默失败
if (axios.isCancel(error)) {
console.log('请求被取消:', error.message);
} else {
// 处理其他错误
console.log('请求失败:', error.message);
}
});
// 取消请求
cancelTokenSource.cancel('取消请求的原因');
在上面的示例中,我们首先创建一个取消令牌cancelTokenSource,然后将其作为cancelToken选项传递给请求。在需要取消请求时,我们调用cancel()方法,传递取消的原因作为参数。
请注意,如果取消请求时,请求已经完成并返回了响应,那么取消令牌将不会起作用,因为请求已经完成。