RTCStatsReport: entries() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

RTCStatsReport 接口的 entries() 方法返回一个新的 迭代器 对象,该对象可用于按插入顺序遍历 RTCStatsReport 对象中每个元素的键/值对。

键是受监控统计信息对象的唯一 id 值,从中派生出统计信息,而关联的值是 统计信息字典对象

此方法在其他方面与 Map.prototype.entries() 相同。

语法

js
entries()

参数

无。

返回值

一个新的可迭代迭代器对象

示例

此示例演示了如何使用 entries() 返回的迭代器遍历 RTCStatsReport

给定一个名为 myPeerConnection 的变量,它是 RTCPeerConnection 的一个实例,代码会调用带有 awaitgetStats() 来等待统计信息报告。然后,它使用 for...of 循环和 entries() 返回的迭代器来遍历条目。控制台会记录 typeoutbound-rtp 的统计信息对象的属性(其他对象将被丢弃)。

js
const stats = await myPeerConnection.getStats();

for (const stat of stats.entries()) {
  if (stat.type !== "outbound-rtp") continue;
  Object.keys(stat).forEach((statName) => {
    console.log(`${statName}: ${report[statName]}`);
  });
}

规范

规范
WebRTC:浏览器中的实时通信
# dom-rtcstatsreport

浏览器兼容性

另见