Lock

Baseline 已廣泛支援

此特性已經十分成熟,可在許多裝置和瀏覽器版本上使用。自 2022 年 3 月起,它已在各瀏覽器中可用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

注意:此功能在 Web Workers 中可用。

Web Locks API 的 Lock 介面提供了鎖的名稱和模式。這可以是透過呼叫 LockManager.request() 在回撥中收到的新請求的鎖,也可以是 LockManager.query() 返回的活動或排隊中的鎖的記錄。

例項屬性

Lock.mode 只讀

返回請求鎖時傳遞給 LockManager.request() 的訪問模式。模式可以是 "exclusive"(排他,預設值)或 "shared"(共享)。

Lock.name 只讀

返回請求鎖時傳遞給 LockManager.request() 的名稱。

示例

以下示例展示瞭如何在呼叫 LockManager.request() 時傳遞模式和名稱屬性。LockManagernavigator.locks 返回的物件。

js
navigator.locks.request("net_db_sync", show_lock_properties);
navigator.locks.request(
  "another_lock",
  { mode: "shared" },
  show_lock_properties,
);

function show_lock_properties(lock) {
  console.log(`The lock name is: ${lock.name}`);
  console.log(`The lock mode is: ${lock.mode}`);
}

規範

規範
Web Locks API
# api-lock

瀏覽器相容性