收藏
回答

clearInterval清除计时器无效?

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


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

最后一次编辑于  08-22  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • Why not?
    Why not?
    08-22

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

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

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

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



    08-22
    赞同
    回复
问题标签