We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS


This page is not complete.

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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


var byteLengthQS = new ByteLengthQueuingStrategy({highWaterMark});


An object containing a highWaterMark property. This is a non-negative integer defining the total number of chunks that can be contained in the internal queue before backpressure is applied.

Return value

An instance of the ByteLengthQueuingStrategy object.




const queuingStrategy = new ByteLengthQueuingStrategy({ highWaterMark: 1 });

const readableStream = new ReadableStream({
  start(controller) {
  pull(controller) {
  cancel(err) {
    console.log("stream error:", err);
}, queuingStrategy);

var size = queuingStrategy.size(chunk);


Specification Status Comment
The definition of 'ByteLengthQueuingStrategy()' in that specification.
Living Standard Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support5916571 No46 ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support59591657146 ?7.0

1. 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.

Document Tags and Contributors

Contributors to this page: fscholz, chrisdavidmills
Last updated by: fscholz,