RTCStatsReport: forEach() method

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.

Phương thức forEach() của giao diện RTCStatsReport thực thi một hàm được cung cấp một lần cho mỗi cặp key/value trong đối tượng RTCStatsReport, theo thứ tự chèn.

Các khóa là các giá trị id duy nhất của các đối tượng thống kê được giám sát mà từ đó thống kê được suy ra, và các giá trị đi kèm là đối tượng dictionary thống kê.

Phương thức này tương tự với Map.prototype.forEach().

Cú pháp

js
forEach(callbackFn)
forEach(callbackFn, thisArg)

Tham số

callbackFn

Một hàm được thực thi cho mỗi mục trong báo cáo. Hàm được gọi với các đối số sau:

report

Báo cáo thống kê cho mỗi lần lặp. Đây có thể là bất kỳ kiểu dictionary thống kê nào.

id

Một chuỗi duy nhất xác định đối tượng được giám sát mà từ đó thống kê được suy ra.

map

Báo cáo đang được duyệt.

thisArg Optional

Một giá trị dùng làm this khi thực thi callbackFn.

Giá trị trả về

undefined.

Ví dụ

Giả sử có biến myPeerConnection, là một thể hiện của RTCPeerConnection, mã gọi getStats() với await để chờ báo cáo thống kê. Sau đó nó duyệt báo cáo bằng RTCStatsReport.forEach(), và lọc các dictionary chỉ còn những báo cáo có typeinbound-rtpkindvideo. Với các dictionary khớp, nó ghi thuộc tính framesPerSecond của video đầu vào.

js
const stats = await myPeerConnection.getStats();

stats.forEach((report) => {
  if (report.type === "inbound-rtp" && report.kind === "video") {
    // Ghi log tốc độ khung hình
    console.log(report.framesPerSecond);
  }
});

Tiêu chuẩn

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

Tương thích trình duyệt

Xem thêm