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, bevor Sie diese produktiv verwenden.
Hinweis: Dieses Feature ist verfügbar in Web Workers, außer in 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 weist den Druckbeobachter an, mit der Beobachtung von Druckänderungen zu beginnen. Nachdem diese Methode aufgerufen wurde, wird der Beobachter seine Callback-Funktion aufrufen, wenn ein Druckdatensatz für die angegebene source
beobachtet wird.
Wenn ein übereinstimmender PressureRecord
erfasst wird, wird die Callback-Funktion des Druckbeobachters aufgerufen.
Syntax
observe(source)
observe(source, options)
Parameter
source
-
Ein String, der angibt, welche
Quelle
beobachtet werden soll. SiehePressureRecord.source
für eine Liste der Quellen undPressureObserver.knownSources
für eine Liste der vom Benutzeragenten unterstützten Quellen. options
Optional-
Ein Objekt zur Konfiguration der Beobachtung mit den folgenden Eigenschaften:
sampleInterval
Optional-
Eine Zahl, die das angeforderte Abtastintervall in Millisekunden darstellt. Standardmäßig 0, was bedeutet, dass Updates so schnell wie das System es verarbeiten kann, bereitgestellt werden.
Rückgabewert
Ausnahmen
NotAllowedError
DOMException
-
Wird ausgelöst, wenn die Compute Pressure API durch eine
compute-pressure
Berechtigungsrichtlinie nicht erlaubt ist. 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 reagiert, wann immer es eine Druckänderung gibt. Das Abtastintervall ist auf 1000ms eingestellt, was bedeutet, dass Updates höchstens jede Sekunde erfolgen.
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