收藏
回答

倒计时方法不准

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug setInterval 客户端 6.6.6 2.0.0

let tm1 = setInterval(() => {

//   let scnd = this.data.countdown2;

//   if (!this.data.isCountdown) {

//     clearInterval(tm1);

//   }


//   // 倒计时结束

//   if (scnd == 0) {

//     this.setData({

//       isCountdown: false

//     });

//     clearInterval(tm1);

//     this._gameOver();

//     return;

//   }

//   console.log(scnd)

//   this.setData({

//     countdown2: scnd - 1,

//   });

// }, 1000);

var time = setTimeout(function () {

if (self.data.countdown2>0){

self.countdownTimer()

self.setData({

countdown2: self.data.countdown2-1,

});

console.log('倒计时' + self.data.countdown2)

} else if(self.data.countdown2 == -20){

clearTimeout(time)

}else{

self.setData({

isCountdown: false,

});

self._gameOver()

}

}, 1000);

我分别使用了2个倒计时方法,但都有问题。

问题是这样的,我的需求是分享完后,给目标重新进行倒计时,这时候倒计时会加速,但在模拟器上没有任何问题。

问题出现在真机,我猜测是线程上的原因,但执行只执行一次,也就是当前的倒计时在执行。

请问各位分享完后,重新执行倒计时会不会这样时间不准确呢?

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

1 个回答

  • Suijiacai
    Suijiacai
    2018-05-12

    我的问题与此类似,就是clearInterval()并不能删除cycle timer啊。。还是在运行

    2018-05-12
    有用
    回复 1
    • cherishxia
      cherishxia
      2018-09-03

      请问这个问题解决了吗?我这边也是,调了clearInterval,但是并没有删除

      2018-09-03
      回复
登录 后发表内容