MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

requestIdleCallback

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

記法

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

返り値

符号なし倍長整数を返します。この値はWindow.cancelIdleCallback() メソッドで、実行をキャンセルする際に使用します。

引数

callback
キューに登録する関数。呼び出される際には、次の属性を持つ持ち時間に関する情報が引数として与えられます:
  • timeRemaining: DOMHighResTimeStamp を返す関数。
  • didTimeout: アイドル状態のブラウザーから呼び出された場合には、false が返ります。タイムアウトした場合などは、true が返ります。
options Optional
オプショナルな設定用パラメーターです。次の属性が指定できます:
  • timeout: ブラウザーが呼び出さなければならない締め切りまでの時間を、ミリセカンドで設定します。

使用

使用 状態 コメント
Cooperative Scheduling of Background Tasks 草案 初期定義

ブラウザ互換性

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本機能 47 未サポート[1] 未サポート 34 未サポート
機能 Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
基本機能 未サポート 47 ? ? ? ? ? 47

[1] Firefox 52 でリリース予定です。詳しくは バグ 1198381 を参照してください。

ドキュメントのタグと貢献者

 このページの貢献者: chikoski
 最終更新者: chikoski,