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

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 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, wenn callbackFn 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.

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

Siehe auch