Lock

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

安全上下文: 此项功能仅在一些支持的浏览器安全上下文(HTTPS)中可用。

备注: 此特性在 Web Worker 中可用。

Web Locks APILock 接口提供锁的名称和模式。这可能是在 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(`锁的名称是:${lock.name}`);
  console.log(`锁的模式是:${lock.mode}`);
}

规范

Specification
Web Locks API
# api-lock

浏览器兼容性

BCD tables only load in the browser