Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Hinweis: Diese Funktion ist inWeb Workers verfügbar, mit Ausnahme vonService Workers.
Sicherer Kontext: Diese Funktion ist nur insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
DerPressureObserver() Konstruktor erstellt ein neuesPressureObserver Objekt, um Änderungen des Drucks von Systemressourcen wie der CPU zu beobachten.
In diesem Artikel
Syntax
new PressureObserver(callback)Parameter
callbackEin Callback, das aufgerufen wird, wenn Druckaufzeichnungen beobachtet werden. Wenn das Callback aufgerufen wird, sind die folgenden Parameter verfügbar:
changesEin Array, das alle
PressureRecordObjekte enthält, die seit dem letzten Aufruf des Callbacks oder seit dem letzten Aufruf dertakeRecords()Methode des Observers aufgezeichnet wurden.observerDas
observerObjekt, das die obigen Aufzeichnungen empfängt.
Rückgabewert
Ein neuesPressureObserver Objekt mit der angegebenencallback Funktion, die aufgerufen wird, wennPressureObserver.observe() aufgerufen wurde, um Druckänderungen zu beobachten.
Ausnahmen
NotAllowedErrorDOMExceptionWird ausgelöst, wenn dieCompute Pressure API durch eine
compute-pressureBerechtigungsrichtlinie nicht erlaubt wird.
Beispiele
>Aktuellen Druck protokollieren
Dieses Beispiel erstellt einenPressureObserver 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.
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> |