RTCStatsReport:keys() 方法
keys()
方法是 RTCStatsReport
接口的一个方法,它返回一个新的迭代器 对象,该对象可用于按插入顺序迭代 RTCStatsReport
对象中每个元素的键。
RTCStatsReport
中的键是唯一的字符串 id
值,这些值表示从中派生统计信息的受监控统计对象。
否则,该方法与 Map.prototype.keys()
相同。
语法
js
keys()
返回值
一个新的 可迭代迭代器对象。
示例
此示例演示如何使用 keys()
返回的迭代器迭代 RTCStatsReport
。
给定一个变量 myPeerConnection
,它是 RTCPeerConnection
的一个实例,代码使用 await
调用 getStats()
以等待统计报告。然后,它使用 keys()
返回的迭代器,使用 for...of 循环迭代 ID。每个 ID 用于获取相应的统计信息字典。将类型为 outbound-rtp
的统计对象属性记录到控制台(丢弃其他对象)。
js
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()
进行迭代,而不必将 ID 映射到值。您甚至可以迭代 RTCStatsReport
本身,因为它具有 [Symbol.iterator]()
方法!
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # dom-rtcstatsreport |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。