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 ofLock
objects for held locks.pending
: An array ofLock
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
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.