避免重复请求

96 阅读1分钟

// request拦截器

service.interceptors.request.use(
  (config) => {
    //
    if (config.method == "post") {

      // 删除重复请求
      removeRequest(config)
      //记录请求
      addRequest(config);
    }

    return config
  },
  error => {
    Promise.reject(error)
  }
)

// 响应拦截器

service.interceptors.response.use(async (res) => {
  // 删除重复请求
 removeRequest(res.config);

  let resData = res.data;
  return resData
},
  error => {
    // 删除重复请求
    removeRequest(error.config || {});

      return Promise.reject(error)

  }
)

工具类:(唯一key可以加上请求类型,我这边只处理了post的类型)

image.png