Limited availability
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 observe()
method of the PressureObserver
interface tells the pressure observer to start observing pressure changes. After this method is called, the observer will call its callback function when a pressure record for the specified source
is observed.
When a matching PressureRecord
is obtained, the pressure observer's callback function is invoked.
observe(source)
observe(source, options)
Parameters
source
A string specifying which source
to observe. See PressureRecord.source
for a list of sources and PressureObserver.knownSources
for a list of sources the user agent supports.
options
Optional
An object to configure observation with the following properties:
sampleInterval
Optional
A number representing the requested sampling interval expressed in milliseconds. Defaults to 0 meaning it will get updates as fast as the system can handle it.
A Promise
that fulfils with undefined
.
NotAllowedError
DOMException
Thrown if the Compute Pressure API is disallowed by a compute-pressure
Permissions Policy.
NotSupportedError
DOMException
Thrown if the source
parameter is not one of the supported sources for this user agent.
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 Browser compatibility
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4