Skip to content

Commit

Permalink
2024/08/01 時点の英語版 e3dd5fe に基づき更新
Browse files Browse the repository at this point in the history
  • Loading branch information
unarist authored Jul 31, 2024
1 parent b1a00ef commit 2dcff17
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions files/ja/web/api/window/requestidlecallback/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 を返します。

##

Expand Down

0 comments on commit 2dcff17

Please sign in to comment.