axios关于cancelToken该怎么使用?

发布于 2022-09-06 10:21:06 字数 204 浏览 13 评论 0

如题,我想在每次进入路由前清除之前的所有请求,关于请求的处理我全部封装在httpConfig.js里,但是cancelToken这个我不想写在httpConfig里,由于涉及路由beforeEach所以我想把这个功能单独分离出来写在启动文件main.js里,那么问题来了,该怎么写?
另外问下,前端如何使请求挂起,即像后台打断点一样,我想测试一下请求超时的处理是否有问题,用的是axios

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你另情深 2022-09-13 10:21:06

大意如此,我也是刚解决这个问题
var CancelToken = axios.CancelToken;
var cancel;
你的httpConfig.js 需要传一个参数

clipboard.png
哪里需要取消请求
执行cancel();

爱已欠费 2022-09-13 10:21:06
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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文