99网
您的当前位置:首页微信小程序clearInterval清除定时器无效

微信小程序clearInterval清除定时器无效

来源:99网

微信小程序clearInterval清除定时器无效

遇到问题:clearInterval清除定时器无效,可能是多次调用setInterval。

   /**
   * 页面的初始数据
   */
  data: {
    timer:null,
  },
  /**
   * 设置定时器
   */
  setTimer: function (options) {
    let that = this;
    let num = 0;
    //防止执行了大于一次,在调用之前先清除一次
    clearInterval(that.data.timer);
    that.setData({
      timer:null
    })
    that.setData({
      timer:setInterval(()=>{
        num++;
        console.log(num);
        if(num>5){
          clearInterval(that.data.timer);
          //如果不放心还可以把句柄置为null
          that.setData({
            timer:null
          })
       
        }
      })
    })
  },

切换页面清除定时器,在onHide,onUnload中都调用clearInterval

/**

  • 生命周期函数–监听页面隐藏
    */
  onHide: function () {
    let that = this;
    clearInterval(that.data.timer);
    that.setData({
      timer:null
    })
  },
    /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    let that = this;
    clearInterval(that.data.timer);
    that.setData({
      timer:null
    })
  },

因篇幅问题不能全部显示,请点此查看更多更全内容