web api instance method
LockManager: query() method
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
LockInfoobjects for held locks.
- : An array of
pending- : An array of
LockInfoobjects for pending lock requests.
- : An array of
The LockInfo object can have the following properties:
name- : The name passed to
request()when the lock was requested.
- : The name passed to
mode- : The access mode passed to
request()when the lock was requested. The mode is either"exclusive"or"shared".
- : The access mode passed to
clientId
Exceptions
This method may return a promise rejected with a DOMException of one of the following types:
InvalidStateErrorDOMException- : Thrown if the environments document is not fully active.
SecurityErrorDOMException- : 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.