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

浏览器兼容性