繁体   English   中英

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);

无论出于何种原因,此代码仅一次更新里程表的值,而不是每隔2000ms更新一次里程表的值。 谷歌搜索/ SO-ing并没有给我太多结果。 有任何想法吗?

这行:

setInterval(updateOdometers(odometers), 2000);

应该

setInterval(function () {updateOdometers(odometers);}, 2000);

否则,您将调用updateOdometers(odometers)并将其结果传递给setInterval

暂无
暂无

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

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