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


 

Logo

前往低代码交流专区

更多推荐