Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】WritableStreamDefaultWriter::WritableStreamDefaultWriter()関数の使い方

WritableStreamDefaultWriter関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

WritableStreamDefaultWriter関数は、新しいWritableStreamDefaultWriterオブジェクトのインスタンスを生成する関数です。このオブジェクトは、ウェブストリームAPIにおいて、WritableStreamに対してデータを書き込むための主要なインターフェースを提供します。具体的には、通常、WritableStreamのインスタンスに対してgetWriter()メソッドを呼び出すことで、このWriterのインスタンスが取得されます。

取得されたWriterインスタンスは、データのチャンクをストリームに書き込むためのwrite()メソッド、ストリームへの書き込みを正常に終了させるclose()メソッド、およびエラー発生時にストリームを中断するためのabort()メソッドなどを公開しています。これらのメソッドはすべて非同期操作であり、Promiseを返します。

WritableStreamDefaultWriterの重要な特性として、一つのWritableStreamに対して同時にアクティブなWriterは一つしか存在できません。これにより、複数の書き込み操作が競合することを防ぎ、データの一貫性が保証されます。また、このWriterはバックプレッシャーのメカニズムを管理する役割も担います。書き込みがシステムの処理能力を超えた場合に、ストリームが一時停止し、システムの過負荷を防ぎ、データの効率的なフロー制御を実現します。これにより、安定したデータ処理が可能になります。

構文(syntax)

1// WritableStreamDefaultWriter の基本的な構文例
2
3// WritableStreamDefaultWriter インスタンスは、
4// 既存の WritableStream インスタンスから getWriter() メソッドを呼び出すことで取得します。
5// 例として、既存の WritableStream インスタンス 'myWritableStream' があると仮定します。
6const myWritableStream = /* ここに具体的な WritableStream インスタンスを指定 */;
7
8// WritableStreamDefaultWriter インスタンスを取得します。
9const writer = myWritableStream.getWriter();
10
11// データをストリームに書き込みます。
12// write() メソッドは Promise を返し、書き込みの完了を待ちます。
13await writer.write(new Uint8Array([72, 101, 108, 108, 111])); // 例: "Hello" のバイトデータ
14
15// 全ての書き込みが完了したことを示し、ストリームを閉じます。
16// close() メソッドも Promise を返します。
17await writer.close();
18
19// または、ストリームへの排他ロックを解放します(ストリームは開いたまま)。
20// writer.releaseLock();

引数(parameters)

stream

  • stream: 書き込み対象のWritableStreamオブジェクト

戻り値(return)

WritableStreamDefaultWriter

この WritableStreamDefaultWriter は、書き込み可能なストリーム(データを書き込むための仕組み)の操作を担当するオブジェクトそのものを返します。

関連コンテンツ