地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【JavaScript】EventEmitter

EventEmitter とは、Node.js が提供する イベント駆動モデルを実現するためのクラスです。このクラスを使うことで、カスタムイベントを定義し、そのイベントのリスナー(処理)を登録して、イベント発生時にそれを呼び出す仕組みを簡単に実装できます。

主な特徴

  • イベントの登録
    • イベントに対してリスナー関数を登録できます。
  • イベントの発火(emit)
    • イベントを発生させ、登録されているリスナーを呼び出します。
  • 非同期処理
    • イベント駆動モデルに基づき、非同期処理を効率的に扱うことができます。

基本的な使い方

  1. EventEmitterのインポート
const EventEmitter = require('events');
  1. イベントの登録と発火
const EventEmitter = require('events');
const myEmitter = new EventEmitter();

myEmitter.on('greet', (name) => {
  console.log(`hi! ${name}さん!`);
});

myEmitter.emit('greet', 'hoge');

イベント駆動モデルの利点

  • 非同期処理の簡略化
    • イベントをリスナーとして登録するだけで非同期処理を簡潔に記述できる。
  • 柔軟な設計
    • イベントに応じた動的な処理を追加しやすい。
  • 高いスケーラビリティ
    • 大量のリクエストやデータを効率的に処理できる。