PressureObserver: PressureObserver() Konstruktor
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.
Der PressureObserver()
Konstruktor erstellt ein neues PressureObserver
Objekt, um Änderungen des Drucks von Systemressourcen wie der CPU zu beobachten.
Syntax
new PressureObserver(callback)
Parameter
callback
-
Ein Callback, das aufgerufen wird, wenn Druckaufzeichnungen beobachtet werden. Wenn das Callback aufgerufen wird, sind die folgenden Parameter verfügbar:
changes
-
Ein Array, das alle
PressureRecord
Objekte enthält, die seit dem letzten Aufruf des Callbacks oder seit dem letzten Aufruf dertakeRecords()
Methode des Observers aufgezeichnet wurden. observer
-
Das
observer
Objekt, das die obigen Aufzeichnungen empfängt.
Rückgabewert
Ein neues PressureObserver
Objekt mit der angegebenen callback
Funktion, die aufgerufen wird, wenn PressureObserver.observe()
aufgerufen wurde, um Druckänderungen zu beobachten.
Ausnahmen
NotAllowedError
DOMException
-
Wird ausgelöst, wenn die Compute Pressure API durch eine
compute-pressure
Berechtigungsrichtlinie nicht erlaubt wird.
Beispiele
Aktuellen Druck protokollieren
Dieses Beispiel erstellt einen PressureObserver
und führt eine Aktion aus, sobald sich der Druck ändert. Das Probenintervall ist auf 1000ms gesetzt, was bedeutet, dass es höchstens jede Sekunde Aktualisierungen gibt.
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 # dom-pressureobserver-constructor |