LockManager.query()

Experimental

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The query() method of the LockManager interface returns a Promise which resolves with an object containing information about held and pending locks.

Syntax

var promise<LockManagerSnapshot> = LockManager.query()

Parameters

None.

Return value

A Promise that resolves with a LockManagerSnapshot containing the following properties.

  • held: An array of Lock objects for held locks.
  • pending: An array of Lock objects for pending lock requests.

Example

const state = await navigator.locks.query();
for (const lock of state.held) {
  console.log(`held lock: name ${lock.name}, mode ${lock.mode}`);
}
for (const request of state.pending) {
  console.log(`requested lock: name ${request.name}, mode ${request.mode}`);
}

Specifications

Specification
Web Locks API
# api-lock-manager-query

Browser compatibility

BCD tables only load in the browser