LockManager.query()

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 Status Comment
Web Locks API
The definition of 'query()' in that specification.
Draft Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
query
Experimental
Chrome Full support 69Edge Full support ≤79Firefox ? IE ? Opera Full support 56Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android Full support 48Safari iOS ? Samsung Internet Android Full support 10.0

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.