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.
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
PressureRecord
objects recorded since the last time the callback was called, or the last time the observer'stakeRecords()
method was called. observer
-
The
observer
object 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
NotAllowedError
DOMException
-
Thrown if the Compute Pressure API is disallowed by a
compute-pressure
Permissions 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
BCD tables only load in the browser