Locks
Web Locks API の Lock インターフェイスは、ロックの名前とモードを提供します。これは LockManager.request() のコールバックが受け取る新しく要求されたロックのことも、LockManager.query() が返した動作中もしくは待機中のロックの記録のこともあります。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 69 | 79 | 96 | 15.4 | 69 | 15.4 | |
| Lock インターフェイスの読み取り専用プロパティ mode は、ロックの要求時に LockManager.request() に渡されたアクセスモードを返します。モードは "exclusive" (デフォルト) か "shared" のいずれかです。 | 69 | 79 | 96 | 15.4 | 69 | 15.4 |
| Lock インターフェイスの読み取り専用プロパティ name は、ロックの要求時に決め、LockManager.request に渡された 名前 を返します。 | 69 | 79 | 96 | 15.4 | 69 | 15.4 |
| Web Locks API の LockManager インターフェイスは、新しい Lock オブジェクトを要求するメソッドと、既存の Lock オブジェクトを取得するメソッドを提供します。LockManager のインスタンスを得るには、navigator.locks を参照します。 | 69 | 79 | 96 | 15.4 | 69 | 15.4 |
| LockManager インターフェイスの query() メソッドは、確保中のロックと獲得待ち中のロックに関する情報を持ったオブジェクトで解決する Promise を返します。 | 69 | 79 | 96 | 15.4 | 69 | 15.4 |
| LockManager インターフェイスの request() メソッドは、名前と性質を指定する引数をとり、Lock オブジェクトを要求します。要求された Lock はコールバックに渡されます。この関数自体は、ロックの解放後にコールバックの結果で解決 (または拒否) され、リクエストが中止された場合は拒否される Promise を返します。 | 69 | 79 | 96 | 15.4 | 69 | 15.4 |
| locks は Navigator インターフェイスの読み取り専用プロパティで、新しいLock オブジェクトを要求するためのメソッドを提供する LockManager オブジェクトを返します。既存の Lock オブジェクトを照会します。 | 69 | 79 | 96 | 15.4 | 69 | 15.4 |
| locks は WorkerNavigator インターフェイスの読み取り専用プロパティで、 LockManager オブジェクト返します。これは Lock オブジェクトをリクエストしたり、既存の Lock オブジェクトを問い合わせるためのメソッドを提供します。 | 69 | 79 | 96 | 15.4 | 69 | 15.4 |
基本構文
navigator.locks.request("net_db_sync", showLockProperties);
navigator.locks.request("another_lock", { mode: "shared" }, showLockProperties);
function showLockProperties(lock) {
console.log(`The lock name is: ${lock.name}`);
console.log(`The lock mode is: ${lock.mode}`);
} 実務での使いどころ
-
Locks の活用
Web Locks API の Lock インターフェイスは、ロックの名前とモードを提供します。
注意点
- 古いブラウザでは対応していない場合がある。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。