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

js
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 aufgetretenen PressureRecord-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.

js
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