小程序倒计时方法不准

4233关注12754浏览

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回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 陈诗_Echo

    19人对此回答表示赞同

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

    展开
    19
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • 百毒不侵 2018-12-24 10:48

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

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部