Cloudflare Docs
Visit Workers on GitHub
Set theme to dark (⇧+D)



A WritableStream is the writable property of a TransformStream. On the Workers platform, WritableStream cannot be directly created using the WritableStream constructor.

A typical way to write to a WritableStream is to simply pipe a ReadableStream to it.

.then(() => console.log('All data successfully written!'))
.catch(e => console.error('Something went wrong!', e));

To write to a WritableStream directly, you must use its writer.

const writer = writableStream.getWriter();

Refer to the WritableStreamDefaultWriter documentation for further detail.


  • locked boolean

    • A Boolean value to indicate if the writable stream is locked to a writer.


  • abort(reasonstringoptional) Promise<void>

    *   Aborts the stream. This method returns a promise that fulfills with a response `undefined`. `reason` is an optional human-readable string indicating the reason for cancellation. `reason` will be passed to the underlying sink’s abort algorithm. If this writable stream is one side of a [TransformStream](/workers/runtime-apis/streams/transformstream/), then its abort algorithm causes the transform’s readable side to become errored with `reason`.
    <aside class="DocsMarkdown--aside" role="note" data-type="warning">
    Any data not yet written is lost upon abort.
  • getWriter() WritableStreamDefaultWriter

    • Gets an instance of WritableStreamDefaultWriter and locks the WritableStream to that writer instance.