繁体   English   中英

setInterval 函数循环太快

[英]setInterval function looping too fast

我有与下面类似的代码,setInterval 的运行速度比 1000 毫秒快得多,并且它崩溃/减慢了页面速度。

var checkDiffTest = function(){

    console.log('test checkDiff init');

    var interval = setInterval(countdownTest(), 1000);

}
var countdownTest = function(){

    console.log('test countdown init');

    checkDiffTest();

}

countdownTest();

每次间隔运行时,您都在设置一个新的间隔:

  • 您的间隔调用countdownTest()
  • 其中调用checkDiffTest()
  • 这会创建一个新的间隔(而最后一个仍在运行)

每 1000 毫秒开始一个新的 1000 毫秒间隔。


看起来好像你想要setTimeout()代替。

同样countdownTest()作为setInterval的第一个参数会立即调用该函数。 您想将该函数作为参考传递:

var checkDiffTest = function(){
    console.log('test checkDiff init')
    var interval = setTimeout(countdownTest, 1000);

}
var countdownTest = function(){
    console.log('test countdown init');
    checkDiffTest();
}

countdownTest();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM