- イベントの定義とリスナーの登録
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', 'イベントデータ');
- イベントの複数のリスナーの登録
Node.jsでは、1つのイベントに対して複数のリスナーを登録することができます。以下の例では、"myEvent"イベントに対して2つのリスナーを登録しています。
myEmitter.on('myEvent', (data) => {
console.log('リスナー1:', data);
});
myEmitter.on('myEvent', (data) => {
console.log('リスナー2:', data);
});
myEmitter.emit('myEvent', 'イベントデータ');
- イベントの削除
イベントリスナーを削除するには、removeListener
メソッドを使用します。
const listener1 = (data) => {
console.log('リスナー1:', data);
};
myEmitter.on('myEvent', listener1);
// リスナー1を削除
myEmitter.removeListener('myEvent', listener1);
myEmitter.emit('myEvent', 'イベントデータ');
- イベントの一度だけ実行
イベントリスナーを一度だけ実行するには、once
メソッドを使用します。
myEmitter.once('myEvent', (data) => {
console.log('一度だけ実行:', data);
});
myEmitter.emit('myEvent', 'イベントデータ');
myEmitter.emit('myEvent', 'イベントデータ'); // リスナーは実行されません
以上がNode.jsでイベントを使用する方法といくつかのコード例です。イベントは非同期処理やデータのフロー管理に非常に便利です。ぜひこれらの例を参考にして、Node.jsアプリケーションでイベントを活用してみてください。