收藏
回答

clearInterval清除计时器无效?

我在data中定义了一个变量来存放计时器


在onHide函数以及onUnload函数中均使用clearInterval(that.data.setInter)来清楚定时器,但是在页面跳转以后函数有执行,但是计时器仍在继续,请问如何清除

最后一次编辑于  08-22
回答关注问题邀请回答
收藏

3 个回答

  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    08-22

    很简单。在你的 this.data.setInter = setInterval之前清除下定时器,这样可有效防止倒计时抖动等效果

    clearInterval(this.data.setInter)this.data.setInter = setInterval(() => {}, 5000)  



    08-22
    赞同 2
    回复
  • 小北
    小北
    09-27

    遇到同样的问题,页面正常load时加载定时器,onUnload里清除定时器,但是返回到前一个页面,这些定时器还在不断地运行,伤脑筋

    09-27
    赞同
    回复 1
    • Nirean
      Nirean
      10-11
      我重复进入页面,setInterval里setData修改页面样式,结果整个页面都不重新渲染了
      10-11
      回复
  • Why not?
    Why not?
    08-22

    应该是你的写法有问题,弄个代码片段看一下

    08-22
    赞同
    回复 6
    • I AM Q
      I AM Q
      08-22
      代码片段单拎出来定时器就可以正常清除,但是在项目上无法清除
      08-22
      回复
    • Why not?
      Why not?
      08-22回复I AM Q
      setInterval是怎么触发的,有没有可能执行了大于一次?
      08-22
      回复
    • I AM Q
      I AM Q
      08-22
      想问一下that.data.setInter打印出来的数字是什么东西
      08-22
      回复
    • I AM Q
      I AM Q
      08-22回复Why not?
      确实执行了大于一次
      08-22
      回复
    • Why not?
      Why not?
      08-22回复I AM Q
      那就简单了,每次重新复制前把旧的clear一下就行了
      08-22
      回复
    查看更多(1)
问题标签