使用axios发送请求时,可以通过创建一个cancel token来取消请求。
首先,我们需要通过axios.CancelToken.source()
方法创建一个cancel token,并将其赋值给一个变量,例如cancelToken
。
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
axios.get('/api/data', {
cancelToken: source.token
}).then(response => {
console.log(response.data);
}).catch(thrown => {
if (axios.isCancel(thrown)) {
console.log('请求已取消', thrown.message);
} else {
console.log('请求失败', thrown.message);
}
});
然后,当我们想要取消请求时,可以调用source.cancel()
方法,并传入一个可选的取消信息。
source.cancel('请求取消原因');
当请求被取消时,你可以通过捕获axios.Cancel
异常来处理取消请求的逻辑。
axios.get('/api/data', {
cancelToken: source.token
}).then(response => {
console.log(response.data);
}).catch(thrown => {
if (axios.isCancel(thrown)) {
console.log('请求已取消', thrown.message);
} else {
console.log('请求失败', thrown.message);
}
});
这样,当你调用source.cancel('请求取消原因')
时,请求会被取消,并在进入catch
语句块时输出"请求已取消"。