setInterval() 序列中的 setTimeout() 仅触发一次
setTimeout() inside setInterval() sequence fires off only once
授予以下代码:
function updateOdometers(odometers) {
setTimeout(function(){
odometers[1].update(odometers[1].value + 10);
}, 500);
}
setInterval(updateOdometers(odometers), 2000);
无论出于何种原因,这段代码只更新一次里程表的值,而不是每 2000 毫秒更新一次,内部有延迟。 Googling/SO-ing 周围并没有给我带来多少结果。有什么想法吗?
这一行:
setInterval(updateOdometers(odometers), 2000);
应该是
setInterval(function () {updateOdometers(odometers);}, 2000);
否则您将调用 updateOdometers(odometers)
并将其结果传递给 setInterval
。
授予以下代码:
function updateOdometers(odometers) {
setTimeout(function(){
odometers[1].update(odometers[1].value + 10);
}, 500);
}
setInterval(updateOdometers(odometers), 2000);
无论出于何种原因,这段代码只更新一次里程表的值,而不是每 2000 毫秒更新一次,内部有延迟。 Googling/SO-ing 周围并没有给我带来多少结果。有什么想法吗?
这一行:
setInterval(updateOdometers(odometers), 2000);
应该是
setInterval(function () {updateOdometers(odometers);}, 2000);
否则您将调用 updateOdometers(odometers)
并将其结果传递给 setInterval
。