WorkerGlobalScope: setInterval() メソッド
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
メモ: この機能はウェブワーカー内でのみ利用可能です。
setInterval() は WorkerGlobalScope インターフェイスのメソッドで、一定の間隔を置いて関数やコードスニペットを繰り返し呼び出します。
このメソッドは、ウィンドウコンテキストでも利用できます。 setInterval() の詳細については、 Window.setInterval() ページをご覧ください。
構文
setInterval(code)
setInterval(code, delay)
setInterval(func)
setInterval(func, delay)
setInterval(func, delay, arg1)
setInterval(func, delay, arg1, arg2)
setInterval(func, delay, arg1, arg2, /* …, */ argN)
引数
func-
delayミリ秒が経過するたびに実行する関数です。最初の実行はdelayミリ秒後に行われます。 code-
関数の代わりに文字列を含める構文も許容されており、
delayミリ秒が経過するたびに文字列をコンパイルして実行します。 この構文は推奨しません。eval()の使用にセキュリティ上のリスクがあるのと同じ理由です。 delay省略可-
指定した関数またはコードを実行する前にタイマーが待つべき時間をミリ秒 (1/1000 秒) 単位で指定します。指定されなかった場合の既定値は 0 です。
delay値で許される範囲についての詳細は、待ち時間の制約をご覧ください。 arg1, …,argN省略可-
タイマーが満了したときに、 func で指定した関数に渡す追加の引数です。
返値
setInterval() メソッドは、呼び出しによって作成されたインターバルタイマーを一意に識別する正の整数(通常は 1 から 2,147,483,647 の範囲)を返します。この識別子は、よく「インターバル ID」と呼ばれ、 clearInterval() に渡すことで、指定した関数の反復実行を停止することができます。
同じグローバル環境(特定のウィンドウやワーカーなど)では、元のタイマーがアクティブである限り、インターバル ID は確実に一意となり、新しいインターバルタイマーには再利用されません。ただし、グローバル環境が異なると、それぞれ独立したインターバル ID のプールが管理されます。
setInterval() と setTimeout() は同じ ID プールを共有しており、 clearInterval() と clearTimeout() は技術的に入れ替えて使用できることに注意してください。
ただし明確さのために、コードを整備するときは混乱を避けるため、常に一致させるようにするべきです。
メモ:
引数 delay は、符号付き 32 ビット整数に変換されます。
IDL における符号付き整数の定義によって、delay は事実上 2147483647ms、およそ 24.8 日に制限されます。
例
例については setInterval() を参照してください。
仕様書
| Specification |
|---|
| HTML> # dom-setinterval-dev> |
ブラウザーの互換性
Loading…