What is EventEmitter ?

eventemitter in nodejs

Node.js is a popular open-source server-side platform built on top of Google’s V8 JavaScript engine. It has a powerful built-in library called EventEmitter that enables developers to build scalable, event-driven applications.

In this article, we will take a deep dive into the EventEmitter class in Node.js and learn how to use it to build event-driven applications.

EventEmitter is a class in the Node.js core library that allows developers to handle events in their applications. It is based on the Observer design pattern, where an object (the subject) maintains a list of its dependents (observers) and notifies them automatically of any state changes.

In the case of EventEmitter, it maintains a list of listeners (also called callbacks or event handlers) and notifies them whenever an event is emitted.

How to use EventEmitter?

To use EventEmitter, you first need to create an instance of the class. This instance will represent your event emitter, and you can use it to emit events and register listeners. Here’s an example:

const EventEmitter = require('events');

// create an instance of EventEmitter
const myEmitter = new EventEmitter();

In this example, we’re creating a new instance of the EventEmitter class and assigning it to the myEmitter variable. Now that we have an instance of EventEmitter, we can use its methods to register listeners and emit events.

Registering Listeners:

To register a listener, you need to use the on method of your event emitter instance. This method takes two arguments: the name of the event to listen for, and the listener function. Here’s an example:

myEmitter.on('event', (arg1, arg2) => {
  console.log('event occurred with arguments:', arg1, arg2);
});

In this example, we’re registering a listener for the event event. Whenever this event is emitted, the listener function will be called with the arguments passed to the emit method.

Emitting Events:

To emit an event, you need to use the emit method of your event emitter instance. This method takes the name of the event to emit and any arguments you want to pass to the listeners. Here’s an example:

myEmitter.emit('event', 'foo', 'bar');

In this example, we’re emitting an event event with two arguments: 'foo' and 'bar'. This will trigger the listener function we registered earlier.

Removing Listeners:

You can also remove a listener from an event emitter instance using the removeListener method. This method takes two arguments: the name of the event to remove the listener from, and the listener function. Here’s an example:

const listener = () => console.log('listener called');
myEmitter.on('event', listener);

// ... later on
myEmitter.removeListener('event', listener);

In this example, we’re registering a listener for the event event and then removing it later using the removeListener method.

Conclusion:

EventEmitter is a powerful feature in Node.js that enables developers to build scalable, event-driven applications. In this article, we learned how to use the EventEmitter class to register listeners, emit events, and remove listeners. By using EventEmitter, you can build applications that respond to user actions, network events, or any other event-driven scenarios.

Follow Us on
https://www.linkedin.com/company/scribblers-den/

Read More
https://scribblersden.com/internet-of-things/

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *