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 ofLockobjects for held locks.pending: An array ofLockobjects 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
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | Chrome Full support 69 | Edge Full support ≤79 | Firefox ? | IE ? | Opera Full support 56 | Safari ? | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox Android ? | Opera Android Full support 48 | Safari 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.
