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 |
瀏覽器相容性
載入中…