ByteLengthQueuingStrategy: highWaterMark 属性

Baseline 已广泛支持

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

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

只读的 ByteLengthQueuingStrategy.highWaterMark 属性返回内部队列在应用背压之前可以包含的总字节数。

注意:CountQueuingStrategy() 不同(后者中的 highWaterMark 属性指定了块的简单计数),对于 ByteLengthQueuingStrategy()highWaterMark 参数指定了字节数——具体来说,给定一个块流,在应用背压之前,内部队列可以包含多少字节的那些块(而不是那些块的计数)。

一个整数。

示例

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);
console.log(`highWaterMark value: ${queuingStrategy.highWaterMark}$`);

规范

规范
Streams
# ref-for-blqs-high-water-mark①

浏览器兼容性

另见