RTCStatsReport: keys()-Methode
Die keys()
-Methode des RTCStatsReport
-Interfaces gibt ein neues Iterator-Objekt zurück, das verwendet werden kann, um durch die Schlüssel jedes Elements im RTCStatsReport
-Objekt in der Reihenfolge ihrer Einfügung zu iterieren.
Die Schlüssel im RTCStatsReport
sind eindeutige Zeichenfolgen-id
-Werte, die die überwachten Statistikobjekte repräsentieren, aus denen die Statistiken abgeleitet werden.
Die Methode funktioniert ansonsten genauso wie Map.prototype.keys()
.
Syntax
keys()
Rückgabewert
Ein neues iterierbares Iterator-Objekt.
Beispiele
Dieses Beispiel zeigt, wie man durch ein RTCStatsReport
mit dem Iterator, der von keys()
zurückgegeben wird, iteriert.
Gegeben ist eine Variable myPeerConnection
, die eine Instanz von RTCPeerConnection
ist. Der Code ruft getStats()
mit await
auf, um auf den Statistikbericht zu warten.
Es wird dann eine for...of-Schleife verwendet, um mit dem Iterator, der von keys()
zurückgegeben wird, durch die IDs zu iterieren.
Jede ID wird verwendet, um das entsprechende Statistik-Dictionary zu erhalten.
Die Eigenschaften von Statistikobjekten mit dem type
von outbound-rtp
werden in die Konsole protokolliert (andere Objekte werden verworfen).
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]}`);
});
}
Beachten Sie, dass dieses Beispiel etwas konstruiert ist.
Sie könnten einfacher mit entries()
oder values()
iterieren und müssten die ID nicht einem Wert zuordnen.
Sie können sogar durch das RTCStatsReport
selbst iterieren, da es die Methode [Symbol.iterator]()
hat!
Spezifikationen
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcstatsreport |
Browser-Kompatibilität
BCD tables only load in the browser