2014-11-14 104 views
-2

我有类似的代码,以下是什么和setInterval运行速度比1000毫秒快很多,它崩溃/减慢页面。setInterval函数循环得太快

var checkDiffTest = function(){ 

    console.log('test checkDiff init'); 

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

} 
var countdownTest = function(){ 

    console.log('test countdown init'); 

    checkDiffTest(); 

} 

countdownTest(); 
+4

'setInterval'想要一个函数引用:'setInterval(countdownTest,1000)'。 'countdownTest()'立即调用'countdownTest'。 – Oriol 2014-11-14 18:40:17

回答

4

你每次都设置一个新的时间间隔的时间间隔运行:

  • 你的时间间隔要求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(); 
+0

感谢这工作! – Ross 2014-11-14 18:58:19