我看到有时 javascript 计时器有一点滞后。我想知道您是否认为拥有更多具有不同时间的计时器或只有一个更好。
例如,我需要两个计时器,一个用于时钟秒刷新(每 1000 毫秒),另一个用于来自服务器的一些更新(每 3600 毫秒)。您是否认为我们最好只使用一个计时器(更频繁),例如:
if(dateObj.getSeconds()==0){
//do update each minute
}
也许答案是:它是一样的...... :-)
谢谢你。
我看到有时 javascript 计时器有一点滞后。我想知道您是否认为拥有更多具有不同时间的计时器或只有一个更好。
例如,我需要两个计时器,一个用于时钟秒刷新(每 1000 毫秒),另一个用于来自服务器的一些更新(每 3600 毫秒)。您是否认为我们最好只使用一个计时器(更频繁),例如:
if(dateObj.getSeconds()==0){
//do update each minute
}
也许答案是:它是一样的...... :-)
谢谢你。
拥有两个计时器是一个更好的主意 - 更具可读性且更易于维护。
如果一段代码密集运行几秒钟,浏览器很可能会杀死这样的脚本。所以不要指望滞后会比这几秒钟大。然而,通常这种滞后不应大于几十毫秒。
如果您需要确切知道计时器的安排时间以及延迟是多少,请查看以下简单代码片段:
var scheduled = new Date().getTime() + 100;
setTimeout(function() {
var lag = new Date().getTime() - scheduled;
//...
}, 100);
lag
在我的情况下(Firefox)的变量总是在-1(!)和1毫秒之间。