Open In App

Node.js emitter.eventNames() Method

Last Updated : 13 Aug, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

In Node.js, most of the core APIs are built near around an idiomatic asynchronous and event-driven architecture. EventEmitter class has instances that are emitted as events by all objects, in which these objects expose an eventEmitter.on() function. It is necessary to import events library (require(‘events’)) in order to handle the events.

The emitter.eventNames() (Added in v6.0.0) method is an inbuilt application programming interface of the events module which is used for listing the events for which the emitter has registered listeners and returns it in array form. The type of these listeners are either strings or Symbols.

Syntax:

const EventEmitter = require('events');
emitter.eventNames()

Parameters: This function does not accept any parameters.

Return Value <Array>: It returns an array containing string or Symbol values, listing the events for which the emitter has registered listeners. 

Example 1: Filename: index.js




// Node.js program to demonstrate the 
// emitter.eventNames() method 
  
// Using require to access events module 
const EventEmitter = require('events');
  
// Creating new event Emitter
const newEventEmitter = new EventEmitter();
  
// Creating new event akash
newEventEmitter.on('akash', () => {});
  
// Creating new event hadii
newEventEmitter.on('hadii', function() {});
  
// Error monitor function
console.log(EventEmitter.errorMonitor);
  
// Creating new symbol event newSymbol
const newSym = Symbol('newSymbolofGeekyWorld');
newEventEmitter.on(newSym, () => {});
  
// Printing event Names
console.log(newEventEmitter.eventNames());
// Prints: [ 'akash', 'hadii', 
// Symbol(newSymbolofGeekyWorld) ]


Output:

Symbol(events.errorMonitor)

[ ‘akash’, ‘hadii’, Symbol(newSymbolofGeekyWorld) ]

Example 2: Filename: index.js




// Node.js program to demonstrate the 
// emitter.eventNames() method 
  
// Using require to access events module 
const EventEmitter = require('events');
  
// Creating new event Emitter
const newEventEmitter = new EventEmitter();
  
// Creating a new callback function 
const someCallback = () => {
  console.log('Connected to something!');
};
  
// Creating new event connectSomething
newEventEmitter.on('connectSomething', someCallback);
  
// Creating new event alfa
newEventEmitter.prependListener('alfa', () => console.log('b'));
  
// Creating new event alfa, not added to eventnames array...
newEventEmitter.once('geeksforgeeks'
() => console.log('print in console...'));
  
// Creating new event alfa, not added to eventnames array...
newEventEmitter.prependOnceListener('geeksforgeeks'
() => console.log('geeksforgeeks'));
  
// Emitting geeksforgeeks event
newEventEmitter.emit('geeksforgeeks');
  
// Creating new symbol event newSymbolofGeekyWorld
const newSym = Symbol('newSymbolofGeekyWorld');
newEventEmitter.on(newSym, () => {});
  
// Printing event Names
console.log(newEventEmitter.eventNames());
  
// Removing connectSomething event
newEventEmitter.removeListener('connectSomething', someCallback);
  
// Printing event Names
console.log(newEventEmitter.eventNames());


Run index.js file using the following command:

node index.js

Output:

geeksforgeeks

print in console…

[ ‘connectSomething’, ‘alfa’, Symbol(newSymbolofGeekyWorld) ]

[ ‘alfa’, Symbol(newSymbolofGeekyWorld) ]

Reference: https://nodejs.org/api/events.html#events_emitter_eventnames



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads