RTCStatsReport: values() 方法

Baseline 已广泛支持

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

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

这些值是统计信息字典对象

该方法在其他方面与 Map.prototype.values() 相同。

语法

js
values()

参数

无。

返回值

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

示例

此示例展示了如何使用 values() 返回的迭代器来遍历 RTCStatsReport

给定一个变量 myPeerConnection(它是 RTCPeerConnection 的一个实例),代码使用 await 调用 getStats() 来等待统计信息报告。然后,它使用 for...of 循环(结合 values() 返回的迭代器)来遍历报告中的字典对象。控制台会记录 typeoutbound-rtp 的统计信息对象的属性(其他对象会被丢弃)。

js
const stats = await myPeerConnection.getStats();

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

规范

此特性似乎未在任何规范中定义。

浏览器兼容性

另见