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