Much of Node is event-driven. The EventEmitter class lets objects emit named events that listeners react to.
emitter.on("event", listener): listen.
emitter.once("event", listener): listen once.
emitter.emit("event", data): trigger.
Servers, streams and sockets are all EventEmitters.
💡 Key Takeaways: Node.js Events
Mastering Node.js Events helps you write clean and reliable Node.js code. Follow standard conventions, test edge cases, and keep logic simple. Try running the code example below and complete the exercises to build confidence.
Node.js Events Code Example
Node.js
import { EventEmitter } from "node:events";
class Shop extends EventEmitter {
order(item) {
console.log("Order placed:", item);
this.emit("ordered", item);
}
}
const shop = new Shop();
shop.on("ordered", item => console.log("📧 Email sent for", item));
shop.on("ordered", item => console.log("📦 Packing", item));
shop.order("Laptop");
Output
Order placed: Laptop
📧 Email sent for Laptop
📦 Packing Laptop
Run this example on your own computer. The "Get Started" lesson shows how to set it up.