setInterval 函数循环太快
setInterval function looping too fast
>我的代码与下面的代码类似,并且setInterval的运行速度比1000ms快得多,并且会崩溃/减慢页面速度。
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 毫秒间隔。
看起来你想要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();
相关文章:
- JavaScript/Jquery:一个特殊用途的for循环函数
- 为循环函数中的元素指定单击
- Jquery下一个和上一个按钮循环函数
- 循环函数(Javascript回调帮助)
- 循环函数不起作用
- 使用ajax调用循环函数
- 在Javascript中修改循环函数的参数
- 如何循环函数数组并在单击时一次执行一个
- 设置超时可以保存我的循环函数不被视为无响应
- 具有超时的循环函数
- j查询如何在一系列延迟后循环函数
- 如何将 JavaScript forEach 循环/函数转换为 CoffeeScript
- for 循环函数似乎未运行
- 对于内部循环函数(新手)
- 循环函数会导致它在 javascript 中无响应
- 循环函数
- 如何优化循环函数
- JS拒绝循环函数
- 中断循环函数
- 在 JavaScript 中循环函数可以吗?