EventEmitter とは、Node.js が提供する イベント駆動モデルを実現するためのクラスです。このクラスを使うことで、カスタムイベントを定義し、そのイベントのリスナー(処理)を登録して、イベント発生時にそれを呼び出す仕組みを簡単に実装できます。
主な特徴
- イベントの登録
- イベントに対してリスナー関数を登録できます。
- イベントの発火(emit)
- イベントを発生させ、登録されているリスナーを呼び出します。
- 非同期処理
- イベント駆動モデルに基づき、非同期処理を効率的に扱うことができます。
基本的な使い方
- EventEmitterのインポート
const EventEmitter = require('events');
- イベントの登録と発火
const EventEmitter = require('events'); const myEmitter = new EventEmitter(); myEmitter.on('greet', (name) => { console.log(`hi! ${name}さん!`); }); myEmitter.emit('greet', 'hoge');
イベント駆動モデルの利点
- 非同期処理の簡略化
- イベントをリスナーとして登録するだけで非同期処理を簡潔に記述できる。
- 柔軟な設計
- イベントに応じた動的な処理を追加しやすい。
- 高いスケーラビリティ
- 大量のリクエストやデータを効率的に処理できる。