From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../web/api/window/requestidlecallback/index.html | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 files/ja/web/api/window/requestidlecallback/index.html (limited to 'files/ja/web/api/window/requestidlecallback/index.html') diff --git a/files/ja/web/api/window/requestidlecallback/index.html b/files/ja/web/api/window/requestidlecallback/index.html new file mode 100644 index 0000000000..9e45f49a13 --- /dev/null +++ b/files/ja/web/api/window/requestidlecallback/index.html @@ -0,0 +1,74 @@ +--- +title: requestIdleCallback +slug: Web/API/Window/requestIdleCallback +tags: + - API + - HTML DOM + - JavaScript timer + - Reference + - Window +translation_of: Web/API/Window/requestIdleCallback +--- +

{{APIRef("HTML DOM")}}{{SeeCompatTable}}

+ +

window.requestIdleCallback() メソッドを利用すると、ブラウザーがアイドル状態の時に実行される関数をキューに登録できます。これにより、アニメーションや入力への応答など、遅延が問題となる処理に影響を与えることなく、優先度の低いバックグラウンド処理をメインスレッド内で実行させられます。キューに登録された関数は、関数登録時に設定したタイムアウト時間(timeout)に達していない限り、登録順に呼び出されます。

+ +

requestIdleCallback() をアイドルコールバック関数からコールし、次のイベントループ以降で実行されるようにスケジュールもできます。

+ +
timeout は必須のタスクにおいては設定することを強くおすすめします。設定しない場合、コールバックが実行するまでに数秒かかってしまう可能性もあるからです。
+ +

構文

+ +
var handle = window.requestIdleCallback(callback[, options])
+ +

返り値

+ +

{{domxref("Window.cancelIdleCallback()")}} メソッドで、実行をキャンセルする際に使用するIDを返します。

+ +

引数

+ +
+
callback
+
イベントループがアイドル状態のときに実行したい関数への参照。コールバック関数には {{domxref("IdleDeadline")}} オブジェクトが渡されます。これはアイドル状態の際に余っている時間と、コールバックが実行されたかされていないかを示します。コールバックの実行有無は、タイムアウト期間が終了してしまったかどうかに左右されます。
+
options {{optional_inline}}
+
任意の設定パラメータです。現在はひとつのプロパティのみ定義されています。 +
    +
  • timeouttimeout に正の値が指定され、かつコールバックがその値の期間(ミリ秒)内に実行されていない場合、コールバックは次のアイドル期間に実行されます。それがパフォーマンスに悪影響があったとしても、それを加味することはありません。
  • +
+
+
+ +

Example

+ +

Cooperative Scheduling of Background Tasks APIの記事で、例を一式紹介しています。

+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Background Tasks')}}{{Spec2('Background Tasks')}}初期定義
+ +

ブラウザ互換性

+ +

{{Compat("api.Window.requestIdleCallback")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf