Event Modules in Node js
In Node.js, the Event module provides a way to handle and work with events. It is a core module that enables event-driven programming, which is central to Node.js's architecture.
Key Concepts of the Event Module
EventEmitter:
The EventEmitter class is the core of the event module. It allows you to create, listen to, and emit events.
Event Listeners:
You can register functions (listeners) to handle specific events when they are emitted.
Basic Usage
Here’s an example to illustrate how the Event module works:
Import the Event Module
const EventEmitter = require('events');
Create an EventEmitter Instance
const eventEmitter = new EventEmitter();
Add Event Listeners
// Adding a listener for the 'greet' eventeventEmitter.on('greet', (name) => { console.log(`Hello, ${name}!`);});
Emit Events
// Emitting the 'greet' eventeventEmitter.emit('greet', 'Alice');
Common Methods
Adding Listeners
on(eventName, listener): Attaches a listener to the event.once(eventName, listener): Attaches a one-time listener.
on(eventName, listener): Attaches a listener to the event.once(eventName, listener): Attaches a one-time listener.
Removing Listeners
removeListener(eventName, listener): Removes a specific listener.removeAllListeners([eventName]): Removes all listeners for the specified event.
removeListener(eventName, listener): Removes a specific listener.removeAllListeners([eventName]): Removes all listeners for the specified event.
Emitting Events
emit(eventName, [...args]): Triggers the event and passes arguments
to the listeners.
emit(eventName, [...args]): Triggers the event and passes arguments to the listeners.
Other Utility Methods
listenerCount(eventName): Returns the number of listeners for an event.eventNames(): Returns an array of event names.
listenerCount(eventName): Returns the number of listeners for an event.eventNames(): Returns an array of event names.