PressureObserver

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 PressureObserver-Schnittstelle ist Teil der Compute Pressure API und wird verwendet, um die Druckänderungen von Systemressourcen wie der CPU zu überwachen.

Konstruktor

PressureObserver() Experimentell

Erstellt und gibt ein neues PressureObserver-Objekt zurück.

Statische Eigenschaften

PressureObserver.knownSources Nur lesbar Experimentell

Gibt ein Array von source-Werten zurück, die vom Benutzeragenten unterstützt werden.

Instanzmethoden

PressureObserver.observe() Experimentell

Ruft die Callback-Funktion des PressureObserver auf, wenn ein Druckdatensatz für die angegebene source beobachtet wird.

PressureObserver.unobserve() Experimentell

Stoppt die Callback-Funktion des PressureObserver von der Erfassung von Druckdatensätzen von der angegebenen source.

PressureObserver.disconnect() Experimentell

Stoppt die Callback-Funktion des PressureObserver von der Erfassung von Druckdatensätzen aus allen Quellen.

PressureObserver.takeRecords() Experimentell

Gibt die aktuelle Liste der im PressureObserver gespeicherten Druckdatensätze zurück und leert sie dadurch.

Beispiele

Aktuellen Druck protokollieren

Dieses Beispiel erstellt einen PressureObserver und führt Aktionen aus, sobald eine Druckänderung auftritt. Das Abtastintervall ist auf 1000 ms eingestellt, was bedeutet, dass es maximal alle 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
# the-pressureobserver-object

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch