2

我想每 20 秒运行一次代码。这很好用。但我想setInterval在第一次遇到时运行,然后开始计时(而不是先做计时)。

显然,我可以这样做:

myFunction();
setInterval(myFunction, 20000);

但我觉得这有点不雅。我宁愿做类似的事情

setInterval(myFunction, 20000, { waitBeforeFirstRun: false });

这样的设置是否存在setInterval

4

2 回答 2

6
(function wrap(){
    myFunction();
    setTimeout( wrap, 20000 );
})();
于 2012-11-07T16:53:47.903 回答
6

怎么样:

setInterval(​function foo(){
    // logic
    return foo;
}(), 20000);​
于 2012-11-07T17:06:11.857 回答