The ByteLengthQueuingStrategy() constructor creates and returns a ByteLengthQueuingStrategy object instance.
On this page
ByteLengthQueuingStrategy: ByteLengthQueuingStrategy() constructor
Syntax
js
new ByteLengthQueuingStrategy(highWaterMark)
Parameters
An object with the following property:
-
highWaterMark -
The total number of bytes that can be contained in the internal queue before backpressure is applied.
Unlike
CountQueuingStrategy()where thehighWaterMarkparameter specifies a simple count of the number of chunks, withByteLengthQueuingStrategy(), thehighWaterMarkparameter specifies a number of bytes — specifically, given a stream of chunks, how many bytes worth of those chunks (rather than a count of how many of those chunks) can be contained in the internal queue before backpressure is applied.
Return value
An instance of the ByteLengthQueuingStrategy object.
Exceptions
None.
Examples
js
const queuingStrategy = new ByteLengthQueuingStrategy({
highWaterMark: 1 * 1024,
});
const readableStream = new ReadableStream(
{
start(controller) {
// …
},
pull(controller) {
// …
},
cancel(err) {
console.log("stream error:", err);
},
},
queuingStrategy,
);
const size = queuingStrategy.size(chunk);
Specifications
| Specification |
|---|
| Streams Standard # blqs-constructor |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
ByteLengthQueuingStrategy |
52 | 16 | 65 | No | 39 | 10.1 | 52 | 52 | 65 | 41 | 10.3 | 6.0 |
See also
ByteLengthQueuingStrategyinterface
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ByteLengthQueuingStrategy/ByteLengthQueuingStrategy