小编典典

setInterval CPU是否密集?

ajax

我在某处读到setInterval占用大量CPU的信息。我创建了一个使用setInterval的脚本,并监视了CPU使用率,但没有发现任何变化。我想知道是否有什么我想念的。

代码要做的是每100毫秒检查一次URL中的哈希值(#后面的内容)是否更改,如果更改了,请使用AJAX加载页面。如果未更改,则什么都不会发生。会不会有CPU问题。


阅读 372

收藏
2020-07-26

共1个答案

小编典典

我认为不会setInterval从本质上引起您严重的性能问题。我怀疑这种声誉可能来自更早的时代,当时CPU的功能不那么强大。

但是,有一些方法可以提高性能,并且这样做可能是明智的:

  1. 将函数传递给setInterval,而不是字符串。
  2. 设置尽可能小的间隔。
  3. 使间隔持续时间尽可能长。
  4. 每次运行的代码都尽可能短而简单。

不要过早地进行优化-在没有问题的情况下,不要让自己生活困难。

但是,在特定情况下可以做的一件事是在支持onhashchange事件的浏览器中使用事件,而不是超时。

2020-07-26