授予以下代码:
function updateOdometers(odometers) {
setTimeout(function(){
odometers[1].update(odometers[1].value + 10);
}, 500);
}
setInterval(updateOdometers(odometers), 2000);
无论出于何种原因,此代码仅更新里程表的值一次,而不是内部延迟每2000ms更新一次。谷歌搜索/ SO-ing并没有给我带来太多结果。有什么想法吗?
答案 0 :(得分:5)
这一行:
setInterval(updateOdometers(odometers), 2000);
应该是
setInterval(function () {updateOdometers(odometers);}, 2000);
否则,您将调用updateOdometers(odometers)
并将结果传递给setInterval
。