PressureObserver

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

注意:此功能在 Web Workers 中可用,但 Service Workers 除外。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

PressureObserver 介面是 Compute Pressure API 的一部分,用於觀察 CPU 等系統資源的壓力變化。

建構函式

PressureObserver() 實驗性

建立並返回一個新的 PressureObserver 物件。

靜態屬性

PressureObserver.knownSources 只讀 實驗性

返回使用者代理支援的 source 值的陣列。

例項方法

PressureObserver.observe() 實驗性

當觀察到指定 source 的壓力記錄時,呼叫壓力觀察器的回撥函式。

PressureObserver.unobserve() 實驗性

阻止壓力觀察器回撥從指定 source 接收壓力記錄。

PressureObserver.disconnect() 實驗性

阻止壓力觀察器回撥從所有源接收壓力記錄。

PressureObserver.takeRecords() 實驗性

返回儲存在壓力觀察器中的當前壓力記錄列表,並清空它。

示例

記錄當前壓力

此示例建立了一個 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-pressureobserver-object

瀏覽器相容性

另見