【问题标题】:setInterval time not precise [duplicate]setInterval 时间不精确[重复]
【发布时间】:2018-06-20 22:42:00
【问题描述】:

我正在开发一个离子应用程序。

我用 setInterval 创建了一个计数器。

let test = new Date().getTime();
setInterval(() => {

  console.log(new Date().getTime() - test);
  test = new Date().getTime();
}, 1000);

问题,console.log 给出的答案不是 1000。它是完全随机的,有时超过 3000。

你知道为什么会这样吗?

【问题讨论】:

  • 无法保证浏览器计时器的准确性。它们通常非常接近。如果您的标签失去焦点,浏览器会减慢它们的速度。
  • setInterval 仅保证回调将在至少 n 毫秒后被调用。因此,如果回调队列中有很多事件,它们都必须在调用 setInterval 回调之前完成。

标签: javascript angular ionic-framework


【解决方案1】:

没有办法保证准确的时间,因为即使是像这样最简单的函数,执行间隔函数内的内容也需要几毫秒。 setInterval函数只保证时间间隔。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 2019-01-29
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多