PressureObserver: PressureObserver() constructor
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers, except for Service Workers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The PressureObserver() constructor creates a new PressureObserver object to watch for changes to pressure changes of system resources such as the CPU.
Syntax
new PressureObserver(callback)
Parameters
callback-
A callback that will be invoked when pressure records are observed. When the callback is invoked, the following parameters are available:
changes-
An array containing all
PressureRecordobjects recorded since the last time the callback was called, or the last time the observer'stakeRecords()method was called. observer-
The
observerobject that is receiving the above records.
Return value
A new PressureObserver object with the specified callback function that will be invoked when PressureObserver.observe() was called to watch pressure changes.
Exceptions
NotAllowedErrorDOMException-
Thrown if the Compute Pressure API is disallowed by a
compute-pressurePermissions Policy.
Examples
>Log current pressure
This example creates a PressureObserver and takes action whenever there is a pressure change. The sample interval is set to 1000ms, meaning that there will be updates at most every second.
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
}
Specifications
| Specification |
|---|
| Compute Pressure Level 1> # dom-pressureobserver-constructor> |
Browser compatibility
Loading…