ReadableStreamBYOBRequest: respond() 方法
注意:此功能在Web Workers中可用。
respond()
方法是 ReadableStreamBYOBRequest
接口的方法,用于向关联的 可读字节流 信号,指定数量的字节已写入 ReadableStreamBYOBRequest.view
。
调用此方法后,view
将被传输且不再可修改。
语法
js
respond(bytesWritten)
参数
返回值
无 (undefined
).
异常
TypeError
-
请求没有关联的
ReadableByteStreamController
或视图缓冲区未分离/无法传输。
示例
以下代码取自 使用可读字节流 中的实时示例。
该方法由底层字节源调用,作为将数据进行零拷贝传输以满足消费者挂起的读取请求的一部分。底层源首先将数据写入 ReadableStreamBYOBRequest.view
,然后调用此 respond()
方法指示复制到缓冲区中的数据量,并导致数据传输到读取器。
以下代码使用假设的 readInto()
方法将数据复制到视图中,展示了这种情况。
js
const v = controller.byobRequest.view;
bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
controller.byobRequest.respond(bytesRead);
操作完成后,byobRequest.view
将被分离,并且请求应被丢弃。
规范
规范 |
---|
流标准 # ref-for-rs-byob-request-respond① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。