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 |
瀏覽器相容性
載入中…