• Node.js Video Tutorials

NodeJS - emitter.eventNames() 方法


emitter.eventNames() 用於檢索一個包含已註冊監聽器的事件列表的陣列。此方法不接受任何引數。陣列中的值可以是字串或符號。

此方法屬於Eventemitter類,它是node:events模組的內建類。

語法

以下是 NodeJs emitter.eventNames() 方法的語法:

emitter.eventNames()

引數

此方法不接受任何引數。

返回值

此方法返回一個數組列表,其中包含發射器已註冊監聽器的事件。

示例 1

以下是 NodeJs emitter.eventNames() 方法的基本示例

這裡,我們匯入了 node:events 模組。然後我們建立了一個包含訊息的函式 one。之後,使用 emitter.eventNames() 方法,我們返回一個數組,其中列出了已註冊監聽器的事件。因此,myEvent.eventNames() 方法將返回一個包含事件的陣列列表。

const EventEmitter = require('node:events');
const myEvent = new EventEmitter();

function one(){
  console('Welcome to Earth');
};

myEvent.on('event', one);

console.log(myEvent.eventNames());

輸出

上述程式產生以下輸出:

[ 'event' ]

示例 2

在這個程式中,我們建立了多個監聽器函式 one()、two() 和 three()。因此,myEvent.eventNames() 方法將返回一個包含 event1、event2 和 event3 的陣列列表。

const EventEmitter = require('node:events');
const myEvent = new EventEmitter();

function one(){
  console('Hi');
};

function two(){
  console.log('Vanakkam');
};

function three(){
  console.log('Sari');
};

myEvent.on('event1', one);
myEvent.on('event2', two);
myEvent.on('event3', three);

console.log(myEvent.eventNames()); 

輸出

上述程式產生以下輸出:

[ 'event1', 'event2', 'event3' ]

示例 3

這裡,我們建立了 Symbol(‘Symbol’),因為 eventName 可以是字串和符號。然後我們建立了一個監聽器函式 fun()。因此,myEvent.eventNames() 方法將返回一個包含 Symbol(symbol) 的陣列列表,因為我們傳遞的 eventName 是一個符號。

const EventEmitter = require('node:events');
const myEvent = new EventEmitter();
const symb = Symbol('symbol');

function fun(){
  console('Welcome home...');
};

myEvent.on(symb, fun);

console.log(myEvent.eventNames());

輸出

上述程式產生以下輸出:

[ Symbol(symbol) ]
nodejs_events.htm
廣告