Skip to content
Visit Workers on GitHub
Set theme to dark (⇧+D)



A reader is used when you want to read from a ReadableStream, rather than piping its output to a WritableStream.

A ReadableStreamDefaultReader is not instantiated via its constructor. Rather, it is retrieved from a ReadableStream:

const { readable, writable } = new TransformStream()
const reader = readable.getReader()


  • closed Promise

    • A promise indicating if the reader is closed. The promise is fulfilled when the reader stream closes, and is rejected if there is an error in the stream.


  • read() Promise

    • A promise that returns the next available chunk of data being passed through the reader queue.
  • cancel(reasonstringoptional) void
    • Cancels the stream. reason is an optional human-readable string indicating the reason for cancellation. reason will be passed to the underlying source’s cancel algorithm -- if this readable stream is one side of a TransformStream, then its cancel algorithm causes the transform’s writable side to become errored with reason.

  • releaseLock() void

    • Releases the lock on the readable stream. A lock can’t be released if the reader has pending read operations. A TypeError is thrown and the reader remains locked.

See also