Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】EventEmitter::rawListeners()メソッドの使い方

rawListenersメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

rawListenersメソッドは、Node.jsのEventEmitterインスタンスに登録された特定のイベントに対する「生(raw)」のリスナー関数を取得するメソッドです。EventEmitterは、非同期的なイベント処理を行うための基本的なクラスであり、何らかの事象(イベント)が発生した際に、そのイベントに関心を持つ関数(リスナー)を実行する仕組みを提供します。

このメソッドは、引数としてイベント名を受け取り、そのイベント名に関連付けられているすべてのリスナー関数を配列として返します。特に重要な点として、EventEmitterのonce()メソッドなどを用いて登録されたリスナーは、内部的に元のリスナー関数をラップした形で管理されることがありますが、rawListenersメソッドは、それらのラッパー関数ではなく、実際に登録されたオリジナルのリスナー関数そのものを取得できるという特徴があります。

これにより、イベントに登録されているリスナーの実際の状態や、内部的なラップ処理を意識せずに、純粋なリスナー関数を確認したい場合に非常に役立ちます。返される配列はリスナー関数のコピーであるため、この配列を操作してもEventEmitterインスタンスに登録されている実際のリスナーには影響を与えません。デバッグや内部状態の確認など、EventEmitterインスタンスの挙動を深く理解する際に活用できます。

構文(syntax)

const EventEmitter = require('events');
const myEmitter = new EventEmitter();

function listenerFunction() {}
myEmitter.on('eventName', listenerFunction);

const rawListenersArray = myEmitter.rawListeners('eventName');

引数(parameters)

eventName

  • eventName: string: リッスンしているイベントの名前を指定します。

戻り値(return)

Function[]

指定されたイベントリスナー(コールバック関数)の配列を返します。

関連コンテンツ

関連プログラミング言語