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