Iniciante Fundamentos
Eventos: EventEmitter
O Node.js é orientado a eventos. O módulo events oferece a classe EventEmitter, que permite emitir eventos e reagir a eles com funções ouvintes (listeners).
Criar um emissor
const EventEmitter = require("events");
const emissor = new EventEmitter();
Ouvir e emitir
Use on para ouvir e emit para disparar o evento:
const EventEmitter = require("events");
const emissor = new EventEmitter();
emissor.on("saudacao", (nome) => {
console.log(`Olá, ${nome}!`);
});
emissor.emit("saudacao", "Ana"); // Olá, Ana!
Vários ouvintes
Você pode registrar mais de um ouvinte para o mesmo evento:
emissor.on("login", () => console.log("Registrando log..."));
emissor.on("login", () => console.log("Enviando e-mail..."));
emissor.emit("login");
Ouvir apenas uma vez
O método once executa o ouvinte só na primeira emissão:
emissor.once("inicio", () => console.log("Só roda uma vez"));
emissor.emit("inicio");
emissor.emit("inicio"); // ignorado