ReadableStreamBYOBRequest: respond() 方法
注意:此功能在 Web Workers 中可用。
ReadableStreamBYOBRequest 接口的 respond() 方法用于向关联的 可读字节流 发出信号,表明指定数量的字节已写入 ReadableStreamBYOBRequest.view。
调用此方法后,view 将被转移且不再可修改。
语法
js
respond(bytesWritten)
参数
返回值
无(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① |
浏览器兼容性
加载中…