Node.jsでのイベントの使用方法


  1. イベントの定義とリスナーの登録

Node.jsでは、eventsモジュールを使用してイベントを定義し、リスナーを登録します。まず、eventsモジュールをインポートします。

const EventEmitter = require('events');

次に、EventEmitterクラスを継承して新しいイベントクラスを作成します。イベントクラスでは、イベント名とデータを伴うイベントトリガーを定義します。

class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
// イベントリスナーの登録
myEmitter.on('myEvent', (data) => {
  console.log('イベントが発生しました:', data);
});
// イベントのトリガー
myEmitter.emit('myEvent', 'イベントデータ');
  1. イベントの複数のリスナーの登録

Node.jsでは、1つのイベントに対して複数のリスナーを登録することができます。以下の例では、"myEvent"イベントに対して2つのリスナーを登録しています。

myEmitter.on('myEvent', (data) => {
  console.log('リスナー1:', data);
});
myEmitter.on('myEvent', (data) => {
  console.log('リスナー2:', data);
});
myEmitter.emit('myEvent', 'イベントデータ');
  1. イベントの削除

イベントリスナーを削除するには、removeListenerメソッドを使用します。

const listener1 = (data) => {
  console.log('リスナー1:', data);
};
myEmitter.on('myEvent', listener1);
// リスナー1を削除
myEmitter.removeListener('myEvent', listener1);
myEmitter.emit('myEvent', 'イベントデータ');
  1. イベントの一度だけ実行

イベントリスナーを一度だけ実行するには、onceメソッドを使用します。

myEmitter.once('myEvent', (data) => {
  console.log('一度だけ実行:', data);
});
myEmitter.emit('myEvent', 'イベントデータ');
myEmitter.emit('myEvent', 'イベントデータ'); // リスナーは実行されません

以上がNode.jsでイベントを使用する方法といくつかのコード例です。イベントは非同期処理やデータのフロー管理に非常に便利です。ぜひこれらの例を参考にして、Node.jsアプリケーションでイベントを活用してみてください。