PressureObserver: observe() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die observe()
-Methode des PressureObserver
-Interfaces teilt dem Druckbeobachter mit, die Überwachung von Druckänderungen zu starten. Nachdem diese Methode aufgerufen wurde, wird der Beobachter seine Callback-Funktion aufrufen, wenn ein Druckdatensatz für die angegebene source
festgestellt wird.
Wenn ein passender PressureRecord
ermittelt wird, wird die Callback-Funktion des Druckbeobachters aufgerufen.
Syntax
observe(source)
observe(source, options)
Parameter
source
-
Ein String, der angibt, welche
source
überwacht werden soll. SiehePressureRecord.source
für eine Liste von Quellen undPressureObserver.knownSources
für eine Liste der Quellen, die der Benutzeragent unterstützt. options
Optional-
Ein Objekt zur Konfiguration der Überwachung mit den folgenden Eigenschaften:
sampleInterval
Optional-
Eine Zahl, die das angeforderte Abtastintervall in Millisekunden angibt. Standardmäßig 0, was bedeutet, dass Updates so schnell wie möglich vom System verarbeitet werden.
Rückgabewert
Ausnahmen
NotAllowedError
DOMException
-
Wird ausgelöst, wenn die Compute Pressure API durch eine
compute-pressure
Berechtigungsrichtlinie abgelehnt wird. NotSupportedError
DOMException
-
Wird ausgelöst, wenn der
source
-Parameter nicht eine der unterstützten Quellen für diesen Benutzeragenten ist.
Beispiele
Aktuellen Druck protokollieren
Dieses Beispiel erstellt einen PressureObserver
und trifft Maßnahmen, wenn immer ein Druckwechsel auftritt. Das Abtastintervall ist auf 1000 ms eingestellt, was bedeutet, dass es höchstens alle Sekunde Updates geben wird.
function callback(records) {
const lastRecord = records[records.length - 1];
console.log(`Current pressure ${lastRecord.state}`);
if (lastRecord.state === "critical") {
// disable video feeds
} else if (lastRecord.state === "serious") {
// disable video filter effects
} else {
// enable all video feeds and filter effects
}
}
try {
const observer = new PressureObserver(callback);
await observer.observe("cpu", {
sampleInterval: 1000, // 1000ms
});
} catch (error) {
// report error setting up the observer
}
Spezifikationen
Specification |
---|
Compute Pressure Level 1 # the-observe-method |
Browser-Kompatibilität
BCD tables only load in the browser