PressureObserver: observe() 方法
注意:此功能在 Web Workers 中可用,但 Service Workers 除外。
PressureObserver 接口的 observe() 方法用于告知压力观察器开始观察压力变化。调用此方法后,当观察到指定 source 的压力记录时,观察器将调用其回调函数。
获取到匹配的 PressureRecord 时,将调用压力观察器的回调函数。
语法
js
observe(source)
observe(source, options)
参数
source-
一个字符串,指定要观察的
source。有关源列表,请参阅PressureRecord.source,有关用户代理支持的源列表,请参阅PressureObserver.knownSources。 options可选-
一个对象,用于配置观察,具有以下属性:
sampleInterval可选-
一个数字,表示请求的采样间隔(以毫秒为单位)。默认为 0,表示系统能够处理的速度有多快,它就会以多快的速度获取更新。
返回值
异常
NotAllowedErrorDOMException-
如果 Compute Pressure API 被
compute-pressurePermissions Policy 禁止,则会抛出此错误。 NotSupportedErrorDOMException-
如果
source参数不是此用户代理支持的源之一,则会抛出此错误。
示例
记录当前压力
此示例创建了一个 PressureObserver,并在每次压力变化时采取行动。采样间隔设置为 1000 毫秒,这意味着最多每秒会有一次更新。
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
}
规范
| 规范 |
|---|
| 计算压力级别 1 # the-observe-method |
浏览器兼容性
加载中…