【发布时间】:2016-11-26 00:10:16
【问题描述】:
我在某处读到 setInterval 是 CPU 密集型的。我创建了一个使用 setInterval 并监视 CPU 使用率的脚本,但没有注意到变化。我想知道我是否遗漏了什么。
代码的作用是每 100 毫秒检查一次 URL 中的哈希值(# 之后的内容)的变化,如果发生变化,则使用 AJAX 加载页面。如果它没有改变,什么都不会发生。会不会有任何 CPU 问题。
【问题讨论】:
-
真的取决于被调用的函数和你指定的时间量。显然,每 100 毫秒调用一个 1000 行长的函数将是 CPU 密集型的。
-
在 Chrome 上,如果选项卡处于非活动状态,则间隔函数仅每秒调用一次。因此,如果您的网站/应用程序未处于活动状态,它肯定是 CPU 友好的。
-
是否需要轮询更改?您不能只为所有锚点添加点击处理程序吗?
-
感谢大家的回复,他们很有帮助。
-
@davin: 是的,我这样做了,但问题是如果用户单击后退按钮或手动更改 URL。
标签: javascript ajax cpu setinterval