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

js
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 der takeRecords() 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.

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