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, 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.
Der PressureObserver()
Konstruktor erstellt ein neues PressureObserver
-Objekt, um Änderungen des Drucks von Systemressourcen wie der CPU zu überwachen.
Syntax
new PressureObserver(callback)
Parameter
callback
-
Ein Callback, das aufgerufen wird, wenn Druckänderungen beobachtet werden. Wenn das Callback aufgerufen wird, stehen die folgenden Parameter zur Verfügung:
changes
-
Ein Array, das alle seit dem letzten Aufruf des Callbacks oder seit dem letzten Aufruf der
takeRecords()
-Methode des Beobachters aufgetretenenPressureRecord
-Objekte enthält. 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 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 es maximal 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 |
Browser-Kompatibilität
BCD tables only load in the browser