Atomics.waitAsync()
Atomics.waitAsync() は SharedArrayBuffer の指定位置が変更されるまで非同期的に待機します。メインスレッドでも使用可能で、Atomics.wait() のノンブロッキング版です。
概要
Atomics.waitAsync() は SharedArrayBuffer の指定位置が変更されるまで非同期的に待機します。メインスレッドでも使用可能で、Atomics.wait() のノンブロッキング版です。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 90 | 90 | 145 | 16.4 | 90 | 16.4 | |
注釈 3件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (90)
実装メモ
- Atomics.waitAsync()` メソッドがタイムアウトしない。バグ 40742782 を参照。
注釈 3件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (90)
実装メモ
- Atomics.waitAsync()` メソッドがタイムアウトしない。バグ 40742782 を参照。
注釈 3件
制限事項
- このブラウザでは部分的にしか実装されていません
削除済み
- このバージョンで機能が削除されました (90)
実装メモ
- Atomics.waitAsync()` メソッドがタイムアウトしない。バグ 40742782 を参照。
基本構文
JAVASCRIPT
const sab = new SharedArrayBuffer(4);
const int32 = new Int32Array(sab);
const { async: waitPromise } = Atomics.waitAsync(int32, 0, 0);
waitPromise.then(() => console.log('The value has been changed')); ライブデモ
Check Atomics.waitAsync support
Inspect the availability of the async waiting API.
JavaScript
出力
「実行」ボタンを押してください
Start an async wait
Create the shared memory setup and inspect the returned wait token.
JavaScript
出力
「実行」ボタンを押してください
Resolve a waitAsync promise
Wake the waiting promise with Atomics.notify after updating the value.
JavaScript
出力
「実行」ボタンを押してください
実務での使いどころ
-
Atomics.waitAsync() の活用
メインスレッドをブロックせずに共有メモリの変更を待機する非同期メソッド。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。
参考リンク
Powered by web-features