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