RTCStatsReport: метод keys()
Базовая Широко доступная
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.
Метод keys() интерфейса RTCStatsReport возвращает новый объект итератора, который можно использовать для перебора ключей каждого элемента в объекте RTCStatsReport, в порядке вставки.
Ключи в объекте RTCStatsReport являются уникальными строковыми id значениями, представляющими отслеживаемые объекты статистики, из которых извлекаются статистические данные.
Метод аналогичен методу Map.prototype.keys().
Синтаксис
keys()
Значение, возвращаемое методом
Новый объект итератора.
Примеры
В этом примере показано, как перебрать RTCStatsReport с помощью итератора, возвращаемого keys().
Предположим, у нас есть переменная myPeerConnection, которая является экземпляром RTCPeerConnection. Код вызывает getStats() с await, чтобы дождаться отчета о статистике. Затем, используя цикл for...of с итератором, возвращаемым keys(), перебирает идентификаторы. Каждый идентификатор используется для получения соответствующего словаря статистики. Свойства объектов статистики с type outbound-rtp выводятся в консоль (другие объекты игнорируются).
const stats = await myPeerConnection.getStats();
for (const id of stats.keys()) {
// Get dictionary associated with key (id)
const stat = stats.get(id);
if (stat.type != "outbound-rtp") continue;
Object.keys(stat).forEach((statName) => {
console.log(`${statName}: ${report[statName]}`);
});
}
Обратите внимание, что этот пример несколько искусственный. Вы могли бы проще перебрать данные с помощью entries() или values() и не нужно было бы сопоставлять идентификатор со значением. Вы даже можете перебрать сам RTCStatsReport, так как у него есть метод [Symbol.iterator]()!
Спецификации
Совместимость с браузерами
| Десктоп | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
keys |
58 | 79 | 48 | 45 | 11 | 58 | 48 | 43 | 11 | 7.0 | 58 |
См. также
© 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/RTCStatsReport/keys