Axios 取消请求
在Axios中,可以使用CancelToken
来取消请求。CancelToken
是一个生成令牌的函数,你可以调用它来获取一个cancel
方法和一个promise
。你可以在任何时候调用cancel
方法,它将会中断所有带有这个令牌的请求。
下面是如何使用CancelToken
取消请求的例子:
import axios from 'axios';
// 创建一个取消令牌源(cancel token source)
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
// 发起请求
axios.get('/some-endpoint', {
cancelToken: source.token
}).catch(function(thrown) {
if (axios.isCancel(thrown)) {
console.log('Request canceled', thrown.message);
} else {
// 处理错误
}
});
// 取消请求
source.cancel('Operation canceled by the user.');
在这个例子中,我们首先通过CancelToken.source()
创建了一个取消令牌源。然后在发起请求时,我们通过cancelToken
选项将令牌传递给请求。最后,如果需要取消请求,我们调用source.cancel()
方法,它将会引发一个取消错误,你可以在catch
块中捕获这个错误来处理请求的取消。
评论已关闭