如题,我想在每次进入路由前清除之前的所有请求,关于请求的处理我全部封装在httpConfig.js里,但是cancelToken这个我不想写在httpConfig里,由于涉及路由beforeEach所以我想把这个功能单独分离出来写在启动文件main.js里,那么问题来了,该怎么写?
另外问下,前端如何使请求挂起,即像后台打断点一样,我想测试一下请求超时的处理是否有问题,用的是axios
如题,我想在每次进入路由前清除之前的所有请求,关于请求的处理我全部封装在httpConfig.js里,但是cancelToken这个我不想写在httpConfig里,由于涉及路由beforeEach所以我想把这个功能单独分离出来写在启动文件main.js里,那么问题来了,该怎么写?
另外问下,前端如何使请求挂起,即像后台打断点一样,我想测试一下请求超时的处理是否有问题,用的是axios
class PR {
constructor() {
this.pending = [];
}
get() {
return this.pending;
}
add(canceller) {
this.pending.push(canceller);
}
remove(canceller) {
this.pending = this.pending
.filter(p => p !== canceller);
}
cancelAll() {
this.pending.forEach((p) => {
if (typeof p.cancel === 'function') {
p.cancel();
} else if (typeof p.resolve === 'function') {
p.resolve();
}
});
this.pending.length = 0;
}
}
export default new PR();
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
大意如此,我也是刚解决这个问题
var CancelToken = axios.CancelToken;
var cancel;
你的httpConfig.js 需要传一个参数
哪里需要取消请求
执行cancel();