我正在开发一种工具,需要测量一定时间(例如2分钟),因为用户与工具交互,此时也需要为用户显示。
由于这个原因,我开始使用简单的服务器循环:
setInterval(function() {
measure.time();
}, 10);
我创建了一个用于计算的代码:
this.reset = 0;
this.step = 100 // 10 ms server loop, adds 1 to reset === 100 is 1 second
this.time = function() {
if(this.reset === this.step) {
console.log('SPAWN', new Date());
this.reset = 0;
}
this.reset++;
};
这是我的方法的结果:
这个想法是为用户显示时钟并每秒更新一次,但它经常跳过几秒钟,我做错了什么?