压力观察器

有限可用性

此功能不是基线,因为它在一些使用最广泛的浏览器中不起作用。

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细检查 浏览器兼容性表

注意: 此功能在 Web 工作者 中可用,但 服务工作者 除外。

安全上下文: 此功能仅在 安全上下文 (HTTPS) 中可用,在一些或所有 支持的浏览器 中可用。

PressureObserver 接口是 计算压力 API 的一部分,用于观察 CPU 等系统资源的压力变化。

构造函数

PressureObserver() 实验性

创建并返回一个新的 PressureObserver 对象。

静态属性

PressureObserver.knownSources 只读 实验性

返回用户代理支持的 source 值数组。

实例方法

PressureObserver.observe() 实验性

在观察到指定 source 的压力记录时,调用压力观察器的回调函数。

PressureObserver.unobserve() 实验性

停止压力观察器的回调函数接收来自指定 source 的压力记录。

PressureObserver.disconnect() 实验性

停止压力观察器的回调函数接收来自所有来源的压力记录。

PressureObserver.takeRecords() 实验性

返回存储在压力观察器中的当前压力记录列表,并清空它。

示例

记录当前压力

此示例创建了一个 PressureObserver,并在每次压力变化时采取行动。采样间隔设置为 1000ms,这意味着每秒最多更新一次。

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-pressureobserver-object

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。

另请参见