LockManager: query() メソッド
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2022年3月以降、すべてのブラウザーで利用可能です。
LockManager インターフェイスの query() メソッドは、確保中のロックと獲得待ち中のロックに関する情報を持ったオブジェクトで解決する Promise を返します。
構文
js
query()
引数
なし
返値
LockManager の状態のスナップショットを持ったオブジェクトで解決する Promise を返します。このオブジェクトは以下のプロパティを持ちます。
例外
このメソッドは、以下のいずれかの種類の DOMException で拒否される Promise を返す可能性があります。
InvalidStateErrorDOMException-
ドキュメントが完全にアクティブでない環境のとき投げられます。
SecurityErrorDOMException-
現在の環境でロックマネージャーが取得できないとき投げられます。
例
js
const state = await navigator.locks.query();
for (const lock of state.held) {
console.log(`確保中のロック: 名前 ${lock.name}, モード ${lock.mode}`);
}
for (const request of state.pending) {
console.log(`要求中のロック: 名前 ${request.name}, モード ${request.mode}`);
}
仕様書
| 仕様書 |
|---|
| Web Locks API> # api-lock-manager-query> |