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 に答える