WebTransportSendStream:getStats() 方法
注意:此功能在 Web Workers 中可用。
getStats()
方法是 WebTransportSendStream
接口的一个方法,它异步返回一个包含当前流统计信息的 Object。
统计信息包括写入流的总字节数、已发送的字节数(忽略数据包开销)以及至少设置过一次的字节数,以及已确认的字节数(直到第一个按顺序排列的未确认字节)。因此,它提供了一个衡量应用程序在此特定流上向服务器发送字节的速度的指标。
语法
js
getStats()
参数
无。
返回值
一个 Promise
,它解析为一个包含有关当前流的统计信息的 Object。返回的 Object 具有以下属性
bytesAcknowledged
-
一个正整数,指示已写入此流并被服务器确认已接收的字节数,使用 QUIC 的 ACK 机制。仅计算到(但不包括)第一个未确认字节的连续字节。此数字只能增加,并且始终小于或等于
bytesSent
。当连接通过 HTTP/2 时,该值将与bytesSent
相匹配。 bytesSent
-
一个正整数,指示已写入此流并至少发送过一次(但未必已确认)的字节数。此数字只能增加,并且始终小于或等于
bytesWritten
。请注意,此计数不包括作为网络开销发送的字节(例如数据包头)。 bytesWritten
-
一个正整数,指示已成功写入此流的字节数。此数字只能增加。
示例
下面的代码片段使用 await
来等待 getStats()
返回的 Promise
。当 Promise 完成时,已发送但未确认的字节数的结果将记录到控制台。
js
const stats = await stream.getStats();
const bytesNotReceived = stats.bytesWritten - stats.bytesAcknowledged;
console.log(`Bytes still successfully sent: ${bytesNotReceived}`);
规范
规范 |
---|
WebTransport # dom-webtransportsendstream-getstats |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。