LockManager: query()-Methode
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 2022.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die query()-Methode des LockManager-Interfaces gibt ein Promise zurück, das mit einem Objekt aufgelöst wird, das Informationen über gehaltene und ausstehende Sperren enthält.
Syntax
query()
Parameter
Keine.
Rückgabewert
Ein Promise, das mit einem Objekt aufgelöst wird, das einen Schnappschuss des LockManager-Zustands enthält.
Das Objekt hat die folgenden Eigenschaften:
held-
Ein Array von
LockInfo-Objekten für gehaltene Sperren. pending-
Ein Array von
LockInfo-Objekten für ausstehende Sperranfragen.
Das LockInfo-Objekt kann die folgenden Eigenschaften haben:
name-
Der Name, der an
LockManager.request()übergeben wurde, als die Sperre angefordert wurde. mode-
Der Zugriffsmodus, der an
LockManager.request()übergeben wurde, als die Sperre angefordert wurde. Der Modus ist entweder"exclusive"oder"shared". clientId-
Die eindeutige Identität des Kontexts, in dem
LockManager.request()aufgerufen wird. Dies ist derselbe Wert wieClient.id.
Ausnahmen
Diese Methode kann ein Promise zurückgeben, das mit einem DOMException folgenden Typs abgelehnt wird:
InvalidStateErrorDOMException-
Wird ausgelöst, wenn das Umgebungsdokument nicht vollständig aktiv ist.
SecurityErrorDOMException-
Wird ausgelöst, wenn ein Sperrmanager für die aktuelle Umgebung nicht erhalten werden kann.
Beispiele
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}`);
}
Spezifikationen
| Specification |
|---|
| Web Locks API> # api-lock-manager-query> |
Browser-Kompatibilität
Loading…