Logo Sujal Magar
Node.js Fundamentals - Event Module

Node.js Fundamentals - Event Module

January 20, 2026
2 min read
Table of Contents

Event Module

Node.js is event-driven. The EventEmitter class lets you create, emit, and listen for custom events. Many build-in modules (like HTTP) use it internally.

Key Concepts

  • Emitter: Object that emits events.
  • Listener: Function that runs when event is emitted.
  • Events: Named signals (strings like “click” or “data”).
  • Once vs.On: on listens everytime whereas once listens only once.

Common Commands

Import and create an instance as:

import { EventEmitter } from 'events'
 
const myEmitter = new EventEmitter()
  1. Listen for an Event:
myEmitter.on('greet', (name) => {
  console.log(`Hello, ${name}`)
})
  • Explanation: Sets up listener for “greet” event.
  1. Emit and Event:
myEmitter.emit('greet', 'John')
  • Explanation: Triggers the event, passing “John” to listener. Outputs: “Hello, John”
  1. Listen Once:
myEmitter.once('once-event', () => {
  console.log('This runs only once')
})
 
myEmitter.emit('once-event') // Runs
myEmitter.emit('once-event') // Ignored
  • Explanation: Stops listening.
  1. Remove Listener:
function listener() {
  console.log('Event')
}
 
myEmitter.on('event', listener)
myEmitter.removeListener('event', listener)
  • Explanation: Stops listening.

Events are async and non-blocking.