From 2dcff170f3e21c8ebc827cd395706465b3e6425e Mon Sep 17 00:00:00 2001 From: unarist Date: Thu, 1 Aug 2024 03:35:18 +0900 Subject: [PATCH] =?UTF-8?q?2024/08/01=20=E6=99=82=E7=82=B9=E3=81=AE?= =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=20e3dd5fec=20=E3=81=AB=E5=9F=BA?= =?UTF-8?q?=E3=81=A5=E3=81=8D=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/window/requestidlecallback/index.md | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/files/ja/web/api/window/requestidlecallback/index.md b/files/ja/web/api/window/requestidlecallback/index.md index 7d327244c18d5f..e127976ebee7c8 100644 --- a/files/ja/web/api/window/requestidlecallback/index.md +++ b/files/ja/web/api/window/requestidlecallback/index.md @@ -3,33 +3,34 @@ title: requestIdleCallback slug: Web/API/Window/requestIdleCallback --- -{{APIRef("HTML DOM")}}{{SeeCompatTable}} +{{APIRef("HTML DOM")}} -**`window.requestIdleCallback()`** メソッドを利用すると、ブラウザーがアイドル状態の時に実行される関数をキューに登録できます。これにより、アニメーションや入力への応答など、遅延が問題となる処理に影響を与えることなく、優先度の低いバックグラウンド処理をメインスレッド内で実行させられます。キューに登録された関数は、関数登録時に設定したタイムアウト時間(`timeout`)に達していない限り、登録順に呼び出されます。 +**`window.requestIdleCallback()`** メソッドを利用すると、ブラウザーがアイドル状態の時に実行される関数をキューに登録できます。これにより、アニメーションや入力への応答など、遅延が問題となる処理に影響を与えることなく、優先度の低いバックグラウンド処理をメインスレッド内で実行することができます。キューに登録された関数は原則として先に登録したものが先に実行されますが、指定された `timeout` を守るために必要であれば優先して実行されることがあります。 -`requestIdleCallback()` をアイドルコールバック関数からコールし、次のイベントループ以降で実行されるようにスケジュールもできます。 +`requestIdleCallback()` をアイドルコールバック関数の中で呼び出すことで、別のコールバックを次のイベントループ以降すぐに実行されるようスケジュールすることもできます。 > **メモ:** `timeout` は必須のタスクにおいては設定することを強くおすすめします。設定しない場合、コールバックが実行するまでに数秒かかってしまう可能性もあるからです。 ## 構文 +```js-nolint +requestIdleCallback(callback) +requestIdleCallback(callback, options) ``` -var handle = window.requestIdleCallback(callback[, options]) -``` - -### 返り値 - -{{domxref("Window.cancelIdleCallback()")}} メソッドで、実行をキャンセルする際に使用する ID を返します。 ### 引数 - `callback` - - : イベントループがアイドル状態のときに実行したい関数への参照。コールバック関数には {{domxref("IdleDeadline")}} オブジェクトが渡されます。これはアイドル状態の際に余っている時間と、コールバックが実行されたかされていないかを示します。コールバックの実行有無は、タイムアウト期間が終了してしまったかどうかに左右されます。 + - : イベントループがアイドル状態になったときに実行されるコールバック関数への参照。コールバック関数は引数に {{domxref("IdleDeadline")}} オブジェクトを受け取り、処理に使える残り時間や、この呼び出しがタイムアウト時間の経過によるものかどうかを知ることができます。 - `options` {{optional_inline}} - : 任意の設定パラメータです。現在はひとつのプロパティのみ定義されています。 - - `timeout`:`timeout` に正の値が指定され、かつコールバックがその値の期間(ミリ秒)内に実行されていない場合、コールバックは次のアイドル期間に実行されます。それがパフォーマンスに悪影響があったとしても、それを加味することはありません。 + - `timeout`:このパラメータに指定された時間(ミリ秒)が経過してもコールバックがまだ実行されていない場合、(パフォーマンスに影響を与える可能性があっても)コールバックを実行するタスクがイベントループにキューイングされます。 `timeout` が正の数値でない場合は無視されます。 + +### 返り値 + +コールバックをキャンセルする時に {{domxref("Window.cancelIdleCallback()")}} メソッドに渡す ID を返します。 ## 例