封装的axios其中怎么取消请求
时间: 2023-11-14 16:09:47 浏览: 122
详解Axios 如何取消已发送的请求
5星 · 资源好评率100%
在封装的axios中,可以使用axios提供的CancelToken来取消请求。具体实现步骤如下:
1. 在请求拦截器中生成一个CancelToken实例,并将其作为请求配置的cancelToken属性值传递给axios实例。
```
import axios from 'axios';
const source = axios.CancelToken.source();
axios.interceptors.request.use(config => {
config.cancelToken = source.token;
return config;
});
```
2. 在需要取消请求的地方调用source.cancel()方法即可。
```
source.cancel('请求已取消');
```
完整代码示例:
```
import axios from 'axios';
const source = axios.CancelToken.source();
axios.interceptors.request.use(config => {
config.cancelToken = source.token;
return config;
});
axios.get('/api/data', {
cancelToken: source.token
}).then(res => {
console.log(res.data);
}).catch(err => {
if (axios.isCancel(err)) {
console.log(err.message);
} else {
console.log(err);
}
});
// 取消请求
source.cancel('请求已取消');
```
阅读全文