ByteLengthQueuingStrategy: highWaterMark プロパティ

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}$`);

仕様書

Specification
Streams
# ref-for-blqs-high-water-mark①

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
highWaterMark

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報