ReadableStreamBYOBReader: ReadableStreamBYOBReader() constructor

Baseline 2026
Newly available

Since March 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Note: This feature is available in Web Workers.

The ReadableStreamBYOBReader() constructor creates and returns a ReadableStreamBYOBReader object instance.

Note: You generally wouldn't use this constructor manually; instead, you'd use the ReadableStream.getReader() method with the argument "byob".

Syntax

js
new ReadableStreamBYOBReader(stream)

Parameters

stream

The ReadableStream to be read.

Return value

An instance of the ReadableStreamBYOBReader object.

Exceptions

TypeError

Thrown if the supplied stream parameter is not a ReadableStream, or it is already locked for reading by another reader, or its stream controller is not a ReadableByteStreamController.

Examples

The constructor is rarely called directly. Instead call ReadableStream.getReader() as shown:

js
const reader = stream.getReader({ mode: "byob" });

Specifications

Specification
Streams
# ref-for-byob-reader-constructor①

Browser compatibility

See also