Spec-Zone.ru › Web APIs

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]()!

Спецификации

Спецификация
WebRTC: Реал-таймовая коммуникация в браузерах
# dom-rtcstatsreport

Совместимость с браузерами

Десктоп Мобильные
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

См. также

  • Map.prototype.keys()
  • RTCStatsReport.values()
  • RTCStatsReport.entries()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API