WebTransportReceiveStream: getStats() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

WebTransportReceiveStream 接口的 getStats() 方法会异步返回一个包含当前流统计信息的对象。

统计信息包括此流上已到达的有序字节总数(忽略网络开销,直到第一个缺失字节)以及应用程序已读取的总数。因此,它提供了一种衡量应用程序在特定流上从服务器消耗字节的速度的方法。

语法

js
getStats()

参数

无。

返回值

一个 Promise,它解析为一个包含当前流统计信息的对象。返回的对象具有以下属性

时间戳

一个 DOMHighResTimeStamp,表示收集统计信息的时间戳,相对于 1970 年 1 月 1 日 UTC。

bytesReceived

一个正整数,表示此流接收到的字节数,直到第一个缺失字节。此数字不包括任何网络开销,并且只能增加。

bytesRead

一个正整数,表示应用程序已从此 WebTransportReceiveStream 流中读取的字节数。此数字只能增加,并且始终小于或等于 bytesReceived

示例

下面的代码片段使用 await 等待 getStats() 返回的 Promise。当 Promise fulfilled 时,尚未读取的字节数将被记录到控制台。

js
const stats = await stream.getStats();
const unConsumedBytes = stats.bytesReceived - stats.bytesRead;
console.log(`Bytes in reader queue: ${unConsumedBytes}`);

规范

规范
WebTransport
# dom-webtransportreceivestream-getstats

浏览器兼容性