Limited availability
Note: This feature is available in Web Workers.
The enqueue()
method of the ReadableByteStreamController
interface enqueues a given chunk on the associated readable byte stream (the chunk is copied into the stream's internal queues).
This should only be used to transfer data to the queue when byobRequest
is null
.
chunk
The chunk to enqueue.
None (undefined
).
TypeError
Thrown if the source object is not a ReadableByteStreamController
, or the stream cannot be read for some other reason, or the chunk is not an object, or the chunk's internal array buffer is non-existent, zero-length, or detached. It is also thrown if the stream has been closed.
The example in Using readable byte streams > Creating a readable socket push byte stream shows how you can use enqueue()
to copy data to the stream if there is no outstanding byobRequest
. If there is a byobRequest
then it should be used!
The code below shows data being read into an ArrayBuffer
using a "hypothetical" socket.readInto()
method and then enqueued (but only if data was actually copied):
const buffer = new ArrayBuffer(DEFAULT_CHUNK_SIZE);
bytesRead = socket.readInto(buffer, 0, DEFAULT_CHUNK_SIZE);
if (bytesRead === 0) {
controller.close();
} else {
controller.enqueue(new Uint8Array(buffer, 0, bytesRead));
}
Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4