RTCStatsReport: forEach()-Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Die forEach()
-Methode der RTCStatsReport
-Schnittstelle führt eine bereitgestellte Funktion einmal für jedes Schlüssel/Wert-Paar im RTCStatsReport
-Objekt in der Eingefügtenreihenfolge 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 jeder 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
verwendet wird, wenncallbackFn
ausgeführt wird.
Rückgabewert
Beispiele
Bei einer Variablen myPeerConnection
, die eine Instanz von RTCPeerConnection
ist, ruft der Code getStats()
mit await
auf, um auf den Statistikbericht zu warten.
Anschließend wird der Bericht mithilfe von RTCStatsReport.forEach()
iteriert und die Dictionaries werden nur für die Berichte gefiltert, die den type
von inbound-rtp
und kind
von video
haben.
Für übereinstimmende Dictionaries wird die framesPerSecond
-Eigenschaft des eingehenden Videos protokolliert.
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 |