我正在构建一个从25分钟到0,然后从5分钟到0计数一定次数的计时器。现在,我有一个CountDownTimer对象,其参数为25 * 60,从25到0计数。我想要启动一个新的定时器,一旦另一个定时器达到0,它将从5到0进行计数。如何实现这种类型的异步代码,然后执行该异步代码X次?在继续之前等待对象构造函数中的方法完成
$(document).ready(function(){
var sessionBreakTimer = new CountDownTimer(25*60);
sessionTimer.start();
if (!sessionTimer.isRunning) {
sessionBreakTimer.start();
}
);
function CountDownTimer(secs) {
var duration = secs;
var running = false;
this.start = function() {
running = true;
var startT = new Date().getTime();
var intervalId = window.setInterval(function() {
var msDelta = new Date().getTime() - startT; // milliseconds elapsed since start
var secsLeft = duration - Math.floor(msDelta/1000);
if (secsLeft === 0) {
window.clearInterval(intervalId);
console.log("cleared");
running = false;
}
}, 1000); //update about every second
};
this.isRunning = function() {
return running;
}
}
为什么我们并不需要在下面的代码中的关键字'new'? //当ticks等于总数时做些事情:Promise.resolve({count:count,ticks:ticks,total:total}) – Autumn
@Autumn请参阅https://developer.mozilla.org/en-US/docs/Web/的JavaScript /参考/ Global_Objects /无极/决心 – guest271314