Firefox Tomorrow

web api instance method

LockManager: query() method

View on MDN ↗

Secure context Available in workers

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

Syntax

query()

Parameters

None.

Return value

A Promise that resolves with an object containing a snapshot of the LockManager state. The object has the following properties:

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

The LockInfo object can have the following properties:

  • name
    • : The name passed to request() when the lock was requested.
  • mode
    • : The access mode passed to request() when the lock was requested. The mode is either "exclusive" or "shared".
  • clientId
    • : The unique identity of the context where request() is called. This is the same value as id.

Exceptions

This method may return a promise rejected with a DOMException of one of the following types:

  • InvalidStateError DOMException
    • : Thrown if the environments document is not fully active.
  • SecurityError DOMException
    • : Thrown if a lock manager cannot be obtained for the current environment.

Examples

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

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.