AbortController

发布时间 2023-07-19 15:35:57作者: 冲锋的凉菜

问题: 三个nav共用一个表格,接口返回速度不一致,切换nav时返回速度慢的nav会把返回速度快的nav表格数据覆盖
image
解决办法:采用了abortController,每次切换nav之前先把上次请求取消掉

  1. 定义abortController
getAbortSignal() {
      this.abortController?.abort();
      this.abortController = new AbortController();
      return this.abortController.signal;
    },
  1. 将signal放在config里发起请求
const res = await request.post({
        username: 'zs'
      }, {
        signal: this.getAbortSignal()
      })

待解决问题:只是这一个页面采取这种方式,应该有一个公用的方法,做成拦截器的形式