WorkerGlobalScope: setTimeout() メソッド
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.
メモ: この機能はウェブワーカー内でのみ利用可能です。
setTimeout()
は WorkerGlobalScope
インターフェイスのメソッドで、時間切れになると、関数または指定されたコードの断片を実行するタイマーを設定します。
構文
setTimeout(code)
setTimeout(code, delay)
setTimeout(functionRef)
setTimeout(functionRef, delay)
setTimeout(functionRef, delay, param1)
setTimeout(functionRef, delay, param1, param2)
setTimeout(functionRef, delay, param1, param2, /* …, */ paramN)
引数
functionRef
-
タイマーが満了した後に実行する
関数
。 code
-
関数の代わりに文字列を含める代替構文も許容されており、タイマーが満了したときに文字列をコンパイルして実行します。
eval()
の使用にリスクがあるのと同じ理由で、この構文は推奨しません。 delay
省略可-
指定した関数やコードを実行する前に待つタイマーの時間をミリ秒 (1/1000 秒) 単位で指定します。この引数を省略すると値 0 を使用しますので「直ちに」実行する、より正確に言えばできるだけ早く実行することを意味します。
なお、どちらの場合も、実際の待ち時間が想定より長くなることがあります。後述する待ち時間が指定値より長い理由をご覧ください。
また、値が数値でない場合、暗黙のうちに型変換が行われ、数値に変換されることにも注意してください。これは予期しない、驚くべき結果につながる可能性があります。例として、delay の値が数値でない場合は暗黙に数値に強制されるを参照してください。
param1
, …,paramN
省略可-
タイマーが満了したときに、
functionRef
で指定された関数に渡す追加の引数です。
返値
setTimeout()
メソッドは、呼び出しによって作成されたタイマーを一意に識別する正の整数(通常は 1 から 2,147,483,647 の範囲)を返します。この識別子は、よく「タイムアウト ID」と呼ばれ、 clearTimeout()
に渡すことで、タイマーを停止することができます。
同じグローバル環境(特定のウィンドウやワーカーなど)では、元のタイマーがアクティブである限り、タイムアウト ID は確実に一意となり、新しいタイマーには再利用されません。ただし、グローバル環境が異なると、それぞれ独立したタイマー ID のプールが管理されます。
解説
詳しい説明は Window.setTimeout()
を参照してください。
例
例については Window.setTimeout()
を参照してください。
仕様書
Specification |
---|
HTML # dom-settimeout-dev |