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 onlyThe 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);