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表示当前的组件已经被销毁。


 

猜你喜欢

转载自blog.csdn.net/qq_34749453/article/details/81488908