axios 重新调用时中止之前的请求
时间: 2023-09-20 14:06:01 浏览: 74
可以使用axios的CancelToken来中止之前的请求。具体实现方法如下:
1. 在发送请求时,创建一个CancelToken实例:
```javascript
const source = axios.CancelToken.source();
axios.get('/api/data', {
cancelToken: source.token
}).then(response => {
console.log(response);
}).catch(error => {
console.log(error);
});
```
2. 在重新发送请求之前,调用cancel方法取消之前的请求:
```javascript
source.cancel('Operation canceled by the user.');
```
完整的代码实现如下:
```javascript
let source;
axios.get('/api/data', {
cancelToken: source.token
}).then(response => {
console.log(response);
}).catch(error => {
console.log(error);
});
// 在需要重新发送请求的时候,调用cancel方法中止之前的请求
source.cancel('Operation canceled by the user.');
axios.get('/api/data', {
cancelToken: source.token
}).then(response => {
console.log(response);
}).catch(error => {
console.log(error);
});
```
注意,CancelToken只能用于取消Promise based请求。如果你使用传统的XHR请求,则需要手动中止请求。
阅读全文