此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Lock

基线
广泛可用

自 2022年3月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

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

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

Web Locks API 的 Lock 接口提供锁的名称和模式。这可能是在 LockManager.request() 方法的回调中接收到的新请求的锁,也可能是 LockManager.query() 方法返回的活动状态的锁或队列中的锁请求。

实例属性

Lock.mode 只读

返回请求锁时传递给 LockManager.request() 的访问模式。模式可以是 "exclusive"(默认值)或 "shared"。

Lock.name 只读

返回请求锁时传递给 LockManager.request() 方法的名称。

示例

以下示例展示如何在对 LockManager.request() 的调用中传递模式和名称参数。LockManager 是 navigator.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}`);
}

规范

规范
Web Locks API
# api-lock

浏览器兼容性