60秒ごとに関数を呼び出す 質問する

60秒ごとに関数を呼び出す 質問する

これを使用するとsetTimeout()、指定した時間に関数を起動することができます。

setTimeout(function, 60000);

しかし、関数を複数回起動したい場合はどうすればよいでしょうか? 時間間隔が経過するたびに (たとえば 60 秒ごとに)、関数を実行したいと思います。

ベストアンサー1

間隔内のコードが指定したtimer時間より長くかかっても構わない場合は、setInterval():

setInterval(function, delay)

これにより、最初のパラメータとして渡された関数が繰り返し実行されます。

より良いアプローチは、関数setTimeoutと一緒に使用することですself-executing anonymous:

(function(){
    // do some stuff
    setTimeout(arguments.callee, 60000);
})();

これにより、コードが実行される前に次の呼び出しが行われないことが保証されます。この例では、関数参照として使用しました。これは、ecmascript 5 で非推奨になっているためarguments.callee、関数に名前を付けてその中で呼び出す方がよい方法です。setTimeoutarguments.callee

おすすめ記事