[前端优化一]前端如何避免同时下发两个相同的请求

13 篇文章 0 订阅
12 篇文章 0 订阅

原因:http在下发请求时,如果不做任何处理,往往会存在点击过多,同时下发多个相同请求,给服务器造成压力,页面卡顿,影响使用。

解决方法:
在这里插入图片描述

以下贴出相关代码:

// 请求拦截器
axios.interceptors.request.use((config) => {
  // 发起请求时,取消掉当前正在进行的相同请求
  if (config.url.indexOf('system') === -1 && promiseArr[config.url]) {
    promiseArr[config.url]('操作取消');
    promiseArr[config.url] = cancel;
  } else {
    promiseArr[config.url] = cancel;
  }
  let token = store.getters.token;
  for (let i = 0; i < 5; i++) {
    if (document.cookie.indexOf('token') > -1) {
      delCookie('token');
    } else {
      break;
    }
  }
  setCookie('token', token);
  // config.url = config.url + (config.url.indexOf('?') > -1 ? 'token=' : '?token=') + token;
   config.url = config.url;
  return config;
}, error => Promise.reject(error));
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值