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

js
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 von callbackFn 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.

js
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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
forEach

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch