1.取消某个接口的请求
// 第一步,定义source
window.CancelToken = this.axios.CancelToken;
window.requestSource = window.CancelToken.source();
// 第二步,定义接口的cancelToken
this.axios.post('...', formData, {
cancelToken: window.requestSource.token
})
// 第三步,取消接口
window.requestSource.cancel('cancel upload'); // cancel upload 打印在控制台
复制代码
2.取消某个指定请求
data () {
return {
requestList: []
}
}
fn () {
const CancelToken = this.axios.CancelToken;
this.axios.post('...', formData, {
cancelToken: new CancelToken(c => {
this.requestList.push({
id: 'x',
cancel: c
})
})
})
for(let i = 0; i < this.requestList.length; i++) {
if (this.requestList[i].id === 'x') {
// 取消请求
this.requestList[i].cancel();
}
}
}
复制代码
3.使用abort
npm install abort-controller -S
import Controller from 'abort-controller';
fn () {
let abortController = new Controller();
fetch('...', {
method: 'POST',
signal: abortController.signal
})
// 取消请求
abortController.abort()
}
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END