ReadableStreamDefaultController.desiredSize

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

Syntax

var desiredSize = readableStreamDefaultController.desiredSize;

Value

An integer. Note that this can be negative if the queue is over-full.

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 Status Comment
Streams
The definition of 'desiredSize' in that specification.
Living Standard Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
desiredSize
Experimental
Chrome ? Edge ? Firefox Full support 65
Full support 65
Full support 57
Disabled
Disabled From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android Full support 65
Full support 65
Full support 57
Disabled
Disabled From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
User must explicitly enable this feature.
User must explicitly enable this feature.