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