收藏
回答

页面卸载,定时器不能销毁

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 工具 7.0.3 2.6.0

页面卸载或者关闭时,长轮询定时器不能销毁

回答关注问题邀请回答
收藏

3 个回答

  • 禾店短剧系统
    禾店短剧系统
    2021-06-04

    该方法是通过$once这个事件侦听器器在定义完定时器之后的位置来清除定时器。以下是完整代码:

    const timer = setInterval(() =>{                    

        // 某些定时器操作                
    }, 500);            
    // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。
    this.$once('hook:beforeDestroy', () => {            
        clearInterval(timer);                                    
    })
    


    2021-06-04
    有用 1
    回复
  •  趣做局剧本杀
    趣做局剧本杀
    2019-04-30

    每次循环放入全局变量队列  注销后 循环clearInterval掉

    2019-04-30
    有用 1
    回复
  • 微盟
    微盟
    2019-04-30

    定时器需要通过 clearInterval() 方法来停止执行

    2019-04-30
    有用
    回复 4
    • 2019-04-30

      是的,用了之后,会出现何偶发事件,有时候没有销毁,onhide里也加了清除长轮询定时器,哭笑

      2019-04-30
      回复
    • 微盟
      微盟
      2019-04-30回复

      能提供一下代码片段吗?或者能确定什么情况会复现吗?

      2019-04-30
      回复
    • 2019-04-30回复微盟


          

      2019-04-30
      回复
    • 2019-04-30回复微盟

      你好,我这边解决了问题,解决方式是把该清除的时间存到数组里,遍历清除

      2019-04-30
      回复
登录 后发表内容