Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCStatsReport: Methode keys()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Die Methode keys() der Schnittstelle RTCStatsReport gibt ein neues Iterator-Objekt zurück. Damit können Sie die Schlüssel jedes Elements im RTCStatsReport-Objekt in der Reihenfolge durchlaufen, in der sie eingefügt wurden.

Die Schlüssel im RTCStatsReport sind eindeutige id-Werte vom Typ String. Sie stehen für die überwachten Statistikobjekte, aus denen die Statistiken abgeleitet werden.

Ansonsten entspricht die Methode Map.prototype.keys().

Syntax

js
keys()

Parameter

Keine.

Rückgabewert

Ein neues iterierbares Iterator-Objekt.

Beispiele

Dieses Beispiel zeigt, wie Sie einen RTCStatsReport mit dem von keys() zurückgegebenen Iterator durchlaufen.

Für die Variable myPeerConnection, eine Instanz von RTCPeerConnection, ruft der Code getStats() auf und wartet mit await auf den Statistikbericht. Anschließend durchläuft er mit einer for...of-Schleife und dem von keys() zurückgegebenen Iterator die IDs. Mit jeder ID wird das zugehörige Statistik-Dictionary abgerufen. Die Eigenschaften von Statistikobjekten mit dem type outbound-rtp werden in der Konsole ausgegeben; andere Objekte werden verworfen.

js
const stats = await myPeerConnection.getStats();

for (const id of stats.keys()) {
  // Get dictionary associated with key (id)
  const stat = stats.get(id);
  if (stat.type !== "outbound-rtp") continue;
  Object.keys(stat).forEach((statName) => {
    console.log(`${statName}: ${stat[statName]}`);
  });
}

Dieses Beispiel ist etwas konstruiert. Mit entries() oder values() könnten Sie die Werte einfacher durchlaufen, ohne die ID einem Wert zuordnen zu müssen. Sie können sogar den RTCStatsReport selbst durchlaufen, da er über die Methode [Symbol.iterator]() verfügt!

Spezifikationen

Spezifikation
WebRTC: Real-Time Communication in Browsers
# dom-rtcstatsreport

Browser-Kompatibilität

Siehe auch