【Node.js24.x】EventEmitter::on()メソッドの使い方
onメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
onメソッドは、EventEmitterクラスのインスタンスに、特定のイベントが発生したときに実行される関数(イベントリスナー)を登録するメソッドです。このメソッドは、Node.jsで非同期処理やイベント駆動型のプログラミングを行う上で非常に重要であり、様々なシステムイベントやカスタムイベントに対応するために広く利用されます。
onメソッドは主に二つの引数を必要とします。第一引数には、イベントを識別するための文字列、つまりイベント名を指定します。例えば、データの受信を示す'data'やエラー発生を示す'error'などです。第二引数には、指定されたイベントが発生したときに呼び出される関数、すなわちイベントリスナー関数を指定します。このリスナー関数には、イベントが発火した際にイベント元から渡される情報が引数として提供されます。
一度onメソッドでイベントリスナーを登録すると、該当のイベントがEventEmitterインスタンスによって発火されるたびに、そのリスナー関数が実行されます。これにより、アプリケーション内の異なるコンポーネントが互いに直接依存することなく、イベントを通じて連携できるようになります。例えば、ウェブサーバーでクライアントからのリクエストを受信した際や、ファイルシステム操作が完了した際などに、特定の処理を実行するよう設定できます。onメソッドは、通常、メソッドチェーンを可能にするために、自身のEventEmitterインスタンスを返します。
構文(syntax)
1const EventEmitter = require('events'); 2const myEmitter = new EventEmitter(); 3 4myEmitter.on('eventName', (argument1, argument2) => { 5 // イベントが発生したときに実行される関数 6 // argument1, argument2 などはイベント発生時に渡される値 7});
引数(parameters)
eventName, listener
- eventName: string: 監視するイベントの名前
- listener: (...args: any[]) => void: イベントが発生したときに実行される関数
戻り値(return)
EventEmitter
EventEmitterインスタンス自身を返します。これにより、メソッドチェーンで複数のイベントリスナーを登録することが可能になります。