Vue之SetTimeout(离开本页面,其他页面还在不停地请求)

1. 前言

vue自动刷新,切换页面还在重复不停地发送请求的问题。

 

2. 问题

settimeout用来调用请求数据,但是我遇到的问题就是,没有用合适的方式去关闭settimeout,出现了离开当前页面,请求还在不断的发送问题,这样给服务器带来了无必要的压力。附上之前的代码:

clearInterval(this.intervalid1)
this.intervalid1 = setTimeout(() => {
  this.fetchShopNotOrderingList()
}, 10000)
LocalStorage.set('intervalid1', this.intervalid1)

存下来需要每个页面去清除,太麻烦了

clearInterval(LocalStorage.get.item('intervalid1'))

 

3. 解决方案

let self=this;
if (self && !self._isDestroyed) {
  this.dispatch = setTimeout(() => {
    self.fetchShopNotOrderingList()
  }, 10000)
}

_isDestroyed这个属性表示的是当前这个组件是否有被销毁,true表示当前的组件已经被销毁。


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值