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

【Node.js24.x】Stream::Writable()メソッドの使い方

Writableメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Writableメソッドは、Node.jsのStreamモジュールに属し、データを外部へ書き込む操作を実行するメソッドです。このメソッドは、ファイルへのデータ書き込みやネットワークソケットへのデータ送信など、非同期的な出力処理を効率的に扱うために設計されています。利用することで、メモリにすべてのデータを一度に読み込むことなく、大きなファイルを少しずつ処理し、メモリ使用量を抑えながら安定したパフォーマンスを実現できます。

具体的には、このメソッドを通じて提供される機能には、データを実際に書き出すwrite()機能や、書き込みの終了を知らせるend()機能などが含まれます。また、データの処理速度の差によるバッファリングや、バックプレッシャーと呼ばれる流量制御の仕組みも内部に備わっており、システムの負荷を適切に管理しながら堅牢なデータ出力を可能にします。システムエンジニアを目指す初心者が、効率的かつ信頼性の高いデータ出力機構を構築する上で、Writableメソッドは非常に重要な基本要素となります。

構文(syntax)

1const { Writable } = require('stream');
2
3const myWritableStream = new Writable({
4  // この'write'メソッドを実装することで、Writableストリームにデータが書き込まれたときの動作を定義します。
5  write(chunk, encoding, callback) {
6    // chunk: 書き込まれるデータ (通常はBufferオブジェクト)
7    // encoding: chunkが文字列の場合のエンコーディング (通常は'buffer'のため考慮不要)
8    // callback: 書き込み処理が完了したときに呼び出す関数。
9    //           エラーが発生した場合は callback(error) を、正常完了時は callback() を呼び出します。
10
11    // ここに、受信したデータ (chunk) を実際に処理するロジックを記述します。
12    // 例: ファイルへの書き込み、データベースへの保存、別の場所にデータを転送するなど。
13
14    callback(); // 処理が完了したことをNode.jsに通知します。
15  }
16});

引数(parameters)

options

  • options: object: Writableストリームの動作をカスタマイズするための設定オブジェクト

戻り値(return)

Writable

Writableメソッドは、新しいWritableストリームインスタンスを返します。このインスタンスは、データの書き込み操作をサポートします。

関連コンテンツ