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

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

BCD tables only load in the browser

Siehe auch