ByteLengthQueuingStrategy:ByteLengthQueuingStrategy() 构造函数

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上使用。自 ⁨2019 年 1 月⁩起,它已在所有浏览器中可用。

注意:此功能在 Web Workers 中可用。

ByteLengthQueuingStrategy() 构造函数用于创建并返回一个 ByteLengthQueuingStrategy 对象实例。

语法

js
new ByteLengthQueuingStrategy(options)

参数

options

一个具有以下属性的对象

highWaterMark

在应用反压之前,内部队列可以包含的总字节数。

highWaterMark 指定块计数的 CountQueuingStrategy() 不同,使用 ByteLengthQueuingStrategy() 时,highWaterMark 指定的是字节数 — 具体来说,给定一个块流,在应用反压之前,内部队列可以包含多少字节的块(而不是有多少块)。

返回值

ByteLengthQueuingStrategy 对象的实例。

异常

无。

示例

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

规范

规范
Streams
# blqs-constructor

浏览器兼容性

另见

  • ByteLengthQueuingStrategy 接口