PressureObserver:observe() 方法
observe()
方法是 PressureObserver
接口的一部分,它指示压力观察器开始观察压力变化。调用此方法后,观察器将在观察到指定 source
的压力记录时调用其回调函数。
获取匹配的 PressureRecord
时,将调用压力观察器的回调函数。
语法
js
observe(source)
observe(source, options)
参数
source
-
一个字符串,指定要观察的
source
。有关源列表,请参阅PressureRecord.source
,有关用户代理支持的源列表,请参阅PressureObserver.knownSources
。 options
可选-
一个对象,用于使用以下属性配置观察
sampleInterval
可选-
一个数字,表示以毫秒为单位的请求采样间隔。默认为 0,表示它将以系统能够处理的最快速度获取更新。
返回值
异常
NotAllowedError
DOMException
-
如果计算压力 API 被
compute-pressure
权限策略 禁止,则抛出此异常。 NotSupportedError
DOMException
-
如果
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 |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。