PressureObserver: observe() метод
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из самых широко используемых браузеров.
Экспериментально: Это экспериментальная технология
Перед использованием в производстве тщательно проверьте таблицу совместимости с браузерами.
Примечание: Эта функция доступна в Web Workers, за исключением Service Workers.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Метод observe() интерфейса PressureObserver сообщает наблюдателю давления о начале наблюдения за изменениями давления. После вызова этого метода наблюдатель вызовет свою функцию обратного вызова, когда будет обнаружен запрос давления для указанного source.
Когда будет получен соответствующий PressureRecord, функция обратного вызова наблюдателя давления вызывается.
Синтаксис
observe(source) observe(source, options)
Параметры
source-
Строка, определяющая, какой
sourceнаблюдать. Список источников см. вPressureRecord.source, а список источников, поддерживаемых пользовательским агентом, см. вPressureObserver.knownSources. optionsНеобязательно-
Объект для настройки наблюдения со следующими свойствами:
sampleIntervalНеобязательно-
Число, представляющее запрашиваемый интервал выборки в миллисекундах. По умолчанию 0, что означает, что обновления будут происходить с максимальной скоростью, на которую способен система.
Возвращаемое значение
Исключения
-
NotAllowedErrorDOMException -
Выбрасывается, если Compute Pressure API запрещен политикой
compute-pressureПолитики разрешений. -
NotSupportedErrorDOMException -
Выбрасывается, если параметр
sourceне является одним из поддерживаемых источников для данного пользовательского агента.
Примеры
Вывести текущее давление
В этом примере создается PressureObserver и выполняется действие всякий раз, когда происходит изменение давления. Интервал выборки задан в 1000 мс, что означает, что обновления будут происходить не чаще, чем раз в секунду.
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 |
Совместимость с браузерами
| Рабочий стол | Мобильное устройство | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
observe |
125 | 125 | Нет | 111 | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PressureObserver/observe