Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PressureObserver: observe()-Methode

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

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.

Die observe()-Methode der PressureObserver-Schnittstelle weist den Druckbeobachter an, Änderungen des Drucks zu überwachen. Nachdem diese Methode aufgerufen wurde, wird der Beobachter seine Rückruffunktion aufrufen, wenn ein Druckdatensatz für die angegebene source beobachtet wird.

Wenn ein passender PressureRecord erhalten wird, wird die Rückruffunktion des Druckbeobachters aufgerufen.

Syntax

js
observe(source)
observe(source, options)

Parameter

source

Ein String, der angibt, welche source überwacht werden soll. Siehe PressureRecord.source für eine Liste der Quellen und PressureObserver.knownSources für eine Liste der Quellen, die vom User-Agent unterstützt werden.

options Optional

Ein Objekt zur Konfiguration der Beobachtung mit den folgenden Eigenschaften:

sampleInterval Optional

Eine Zahl, die das angeforderte Abtastintervall in Millisekunden darstellt. Standardmäßig 0 bedeutet, dass Updates so schnell wie das System es verarbeiten kann, erfolgen.

Rückgabewert

Ein Promise, das mit undefined erfüllt wird.

Ausnahmen

NotAllowedError DOMException

Wird ausgelöst, wenn die Compute Pressure API durch eine compute-pressure Berechtigungsrichtlinie nicht erlaubt ist.

NotSupportedError DOMException

Wird ausgelöst, wenn der source-Parameter nicht eine der unterstützten Quellen für diesen User-Agent ist.

Beispiele

Aktuellen Druck protokollieren

Dieses Beispiel erstellt einen PressureObserver und führt Aktionen durch, wann immer sich der Druck ändert. Das Abtastintervall ist auf 1000 ms festgelegt, was bedeutet, dass es Updates höchstens jede Sekunde geben wird.

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

Spezifikation
Compute Pressure Level 1
# the-observe-method

Browser-Kompatibilität