ReadableStreamBYOBRequest: respond() 方法
注意:此功能在 Web Workers 中可用。
ReadableStreamBYOBRequest 介面的 respond() 方法用於向關聯的 可讀位元組流 發出訊號,表明指定數量的位元組已寫入 ReadableStreamBYOBRequest.view。
呼叫此方法後,view 將被轉移且不再可修改。
語法
js
respond(bytesWritten)
引數
bytesWritten-
寫入
ReadableStreamBYOBRequest.view的位元組數。
返回值
無(undefined)。
異常
TypeError-
請求沒有關聯的
ReadableByteStreamController,或者 view 緩衝區未分離/無法傳入。
示例
下面的程式碼摘自 使用可讀位元組流 中的即時示例。
底層位元組源呼叫此方法,作為執行零複製資料傳輸的一部分,以滿足消費者掛起的讀取請求。底層源首先將資料寫入 ReadableStreamBYOBRequest.view,然後呼叫此 respond() 方法來指示已將多少資料複製到緩衝區中,並促使資料傳輸給讀取器。
下面的程式碼使用一個假設的 readInto() 方法將資料複製到 view 中,展示了這種情況。
js
const v = controller.byobRequest.view;
bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
controller.byobRequest.respond(bytesRead);
操作完成後,byobRequest.view 將被分離,並且請求應該被丟棄。
規範
| 規範 |
|---|
| Streams # ref-for-rs-byob-request-respond① |
瀏覽器相容性
載入中…