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
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.
thisArgOptional-
Một giá trị dùng làm
thiskhi thực thicallbackFn.
Giá trị trả về
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ó type là inbound-rtp và kind là video.
Với các dictionary khớp, nó ghi thuộc tính framesPerSecond của video đầu vào.
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> |