これを使用すると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
、関数に名前を付けてその中で呼び出す方がよい方法です。setTimeout
arguments.callee