1. ホーム
  2. ジャバスクリプト

[解決済み】60秒ごとに関数を呼び出す

2022-04-01 19:14:02

質問

使用方法 setTimeout() は、指定した時刻に機能を起動することができます。

setTimeout(function, 60000);

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

どのように解決するのですか?

の中のコードを気にしないのであれば、そのようなことはありません。 timer を使用すると、間隔以上に時間がかかる可能性があります。 setInterval() :

setInterval(function, delay)

これは、最初のパラメータとして渡された関数を何度も起動するものです。

より良い方法は setTimeout と共に self-executing anonymous 関数を使用します。

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

これは、あなたのコードが実行される前に、次の呼び出しが行われないことを保証するものです。私が使ったのは arguments.callee この例では、関数の参照として これは、関数に名前をつけて、それを setTimeout なぜなら arguments.callee はecmascript 5で非推奨となりました。