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 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