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

瀏覽器相容性