This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2019.
Note: This feature is available in Web Workers.
The ByteLengthQueuingStrategy interface of the Streams API provides a built-in byte length queuing strategy that can be used when constructing streams.
ByteLengthQueuingStrategy()Creates a new ByteLengthQueuingStrategy object instance.
ByteLengthQueuingStrategy.highWaterMark Read only
The total number of bytes that can be contained in the internal queue before backpressure is applied.
ByteLengthQueuingStrategy.size()Returns the given chunk's byteLength property.
const queueingStrategy = new ByteLengthQueuingStrategy({ highWaterMark: 1024 });
const readableStream = new ReadableStream(
{
start(controller) {
// …
},
pull(controller) {
// …
},
cancel(err) {
console.log("stream error:", err);
},
},
queueingStrategy,
);
const size = queueingStrategy.size(chunk);
| Specification |
|---|
| Streams> # blqs-class> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
ByteLengthQueuingStrategy |
52 | 16 | 65 | 39 | 10.1 | 52 | 65 | 41 | 10.3 | 6.0 | 52 | 10.3 |
ByteLengthQueuingStrategy |
52 | 16 | 65 | 39 | 10.1 | 52 | 65 | 41 | 10.3 | 6.0 | 52 | 10.3 |
highWaterMark |
52 | 16 | 65 | 39 | 10.1 | 52 | 65 | 41 | 10.3 | 6.0 | 52 | 10.3 |
size |
52 | 16 | 65 | 39 | 10.1 | 52 | 65 | 41 | 10.3 | 6.0 | 52 | 10.3 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ByteLengthQueuingStrategy