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

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

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

作成日: 更新日:

基本的な使い方

prependOnceListenerメソッドは、Node.jsのEventEmitterクラスに属し、特定のイベントが発生した際に一度だけ実行されるイベントリスナーを、他のリスナーよりも先に処理されるようリストの先頭に追加するメソッドです。このメソッドは、指定されたイベント名に対してコールバック関数(リスナー)を登録します。イベントが一度発生し、登録されたリスナーが実行されると、そのリスナーは自動的にイベントリスナーのリストから削除されます。これにより、同一のイベントが再度発生しても、このリスナーは二度と呼び出されることはありません。

引数としては、登録するイベントの名前を示すeventNameと、イベント発生時に実行したい処理を記述したコールバック関数であるlistenerを受け取ります。戻り値は、メソッドが呼び出されたEventEmitterインスタンス自身です。

この機能は、例えば、システム初期化時の初回設定や、ある操作が一度だけ行われた後に特定のクリーンアップ処理を実行したい場合など、一度だけ確実に優先的に処理を実行したい状況で非常に有用です。通常のonメソッドがリスナーを末尾に追加するのに対し、prependOnceListenerは先頭に追加するため、他のイベントリスナーよりも先に処理されます。これにより、緊急性の高い処理や、他の処理に影響を与える可能性のある初期処理などを確実に先行させることが可能となります。

構文(syntax)

1const EventEmitter = require('events');
2const myEmitter = new EventEmitter();
3
4myEmitter.prependOnceListener('eventName', () => {
5  console.log('This listener runs only once and is prepended.');
6});
7
8myEmitter.emit('eventName');
9// Expected output: This listener runs only once and is prepended.
10
11myEmitter.emit('eventName');
12// No output from this listener as it has been removed.

引数(parameters)

eventName, listener

  • eventName: string: イベントの名前
  • listener: (...args: any[]) => void: イベント発生時に実行される関数

戻り値(return)

EventEmitter

このメソッドは、イベントリスナーを指定されたイベントの先頭に追加したEventEmitterオブジェクト自身を返します。これにより、メソッドチェーンで他のEventEmitterの操作を続けることが可能です。

関連コンテンツ

関連プログラミング言語