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 July 2015.
* 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 |