W3cubDocs

/Web APIs

ByteLengthQueuingStrategy: ByteLengthQueuingStrategy() constructor

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

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 the highWaterMark parameter specifies a simple count of the number of chunks, with ByteLengthQueuingStrategy(), the highWaterMark parameter 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

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

© 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