ReadableStreamDefaultController: desiredSize property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Note: This feature is available in Web Workers.

The desiredSize read-only property of the ReadableStreamDefaultController interface returns the desired size required to fill the stream's internal queue.

Value

A number, or null.

This can be negative if the queue is over-full, and it is not necessarily an integer: when a custom queuing strategy is used, chunk sizes — and therefore desiredSize — can be non-integer values. The value is null if the stream has errored, and 0 if it is closed.

Examples

The A readable stream with an underlying push source and backpressure support example in the spec provides a good example of using desiredSize to manually detect when the stream is full and apply backpressure, and also of using ReadableStreamDefaultController.error() to manually trigger a stream error if another part of the system it relies on fails.

Specifications

Specification
Streams
# ref-for-rs-default-controller-desired-size②

Browser compatibility

See also