RTCStatsReport: forEach() Methode
Die forEach()
Methode des RTCStatsReport
Schnittstelle führt eine bereitgestellte Funktion einmal für jedes Schlüssel/Wert-Paar im RTCStatsReport
Objekt in Einfügereihenfolge aus.
Die Schlüssel sind eindeutige id
Werte für die überwachten Statistikobjekte, aus denen die Statistiken abgeleitet werden, und die zugehörigen Werte sind Statistik-Dictionary-Objekte.
Die Methode ist ansonsten identisch mit Map.prototype.forEach()
.
Syntax
forEach(callbackFn)
forEach(callbackFn, thisArg)
Parameter
callbackFn
-
Eine Funktion, die für jeden Eintrag im Bericht ausgeführt wird. Die Funktion wird mit den folgenden Argumenten aufgerufen:
report
-
Statistikbericht für jede Iteration. Dies kann einer der Statistik-Dictionary-Typen sein.
id
-
Ein eindeutiger String, der das überwachte Objekt identifiziert, aus dem die Statistiken abgeleitet werden.
map
-
Der Bericht, der iteriert wird.
thisArg
Optional-
Ein Wert, der als
this
bei der Ausführung voncallbackFn
verwendet wird.
Rückgabewert
Beispiele
Angesichts einer Variable myPeerConnection
, die eine Instanz von RTCPeerConnection
ist, ruft der Code getStats()
mit await
auf, um auf den Statistikbericht zu warten.
Er iteriert dann über den Bericht mit RTCStatsReport.forEach()
, und filtert die Dictionaries, um nur die Berichte zu erhalten, die den type
von inbound-rtp
und kind
von video
haben.
Für übereinstimmende Dictionaries protokolliert er die framesPerSecond
-Eigenschaft des eingehenden Videos.
const stats = await myPeerConnection.getStats();
stats.forEach((report) => {
if (report.type === "inbound-rtp" && report.kind === "video") {
// Log the frame rate
console.log(report.framesPerSecond);
}
});
Spezifikationen
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcstatsreport |
Browser-Kompatibilität
BCD tables only load in the browser