在vue的函数中使用setTimeout

self.distroyTimeout = setTimeout(()=>{

  self.initData()

},1000)

 

这时清除setTimeout需要在destoryed周期中进行

destoryed(){

  window.clearTimeout(this.distroyTimeout)

}

 

但是这样做在逻辑复杂的情况下还是出现了没有关闭setTimeout的情况,以下是一种更好的解决方案

let self = this

if(self && self.distroyTimeout){

  setTimeout(()=>{

    if(self && self.distroyTimeout){

      self.initData()
    }
  },1000)

}

 

在这里distroyTimeout属性表示当前这个组件是否被销毁

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-06
  • 2022-03-13
  • 2021-09-08
  • 2021-06-24
  • 2022-01-01
猜你喜欢
  • 2022-12-23
  • 2023-01-22
  • 2022-01-07
  • 2022-12-23
  • 2022-03-06
  • 2021-05-27
  • 2023-01-19
相关资源
相似解决方案