随机时间倒数计时不准确

时间:2019-09-21 15:31:27

标签: typescript

我需要在一个时间间隔之间随机运行代码。但是我想知道下一次运行还剩下多少时间。但是间隔越大,误差越大,我也不知道为什么。

我尝试将随机时间四舍五入为1000,以防止在计算时间时失去毫秒数

随机时间生成器(randomTimer()):

this.randomTime = Math.round((Math.floor((Math.random() * this.max) +   this.min ) * 60 * 1000)/1000) * 1000

倒数计时(timer()):

let seconds =  (this.randomTime - 1000) / 1000;
this.countDown = setInterval
(
  () =>
   {
     this.hour = Math.floor(seconds / (60 * 60))
     this.minute = Math.floor((seconds - (this.hour * 60 *60)) / 60);
     this.second = (seconds % 60);
     seconds--;
    },1000
);

主要功能:

clearInterval(this.countDown);
this.randomTimer();
this.timer();
this.searching = setTimeout
( 
  () =>
  {
     //the code I need to call. It's call back this function when it's done.
   },this.randomTime
)

当倒数计时到0时,它应该运行代码。当倒数计时是一分钟时,它可以完美运行,但是如果是数小时,则代码要比倒数计时到0早几秒钟。

0 个答案:

没有答案