La biblioteca de eventos en Node.js incluye una clase llamada EventEmitter
que se utiliza para manejar eventos de forma asincrónica. La función event.on()
es uno de los métodos principales de este objeto y una de las herramientas más usadas en la programación de Node.js.
El método event.on()
en Node.js se utiliza para registrar un listener a un evento en particular. Un listener es una función que se activa cuando ocurre el evento mencionado. Al usar event.on()
, el evento puede llamarse varias veces y, en cada instancia, el listener se activará.
La sintaxis de este método es:
eventEmitter.on(event, handler)
Donde event
es una cadena que representa el nombre del evento, y handler
es la función de devolución de llamada que se invoca cuando se produce el evento.
A continuación se muestra un ejemplo de cómo se puede utilizar la función event.on()
:
const events = require('events');
const eventEmitter = new events.EventEmitter();
// Création d'un listener pour l'événement 'saludo'
eventEmitter.on('saludo', function() {
console.log('¡Hola mundo!');
});
// Décharge de l'événement 'saludo'
eventEmitter.emit('saludo');
En este ejemplo, hemos registrado un listener para el evento 'saludo'. Cada vez que se emite el evento 'saludo', se activará la función asociada y aparecerá en la consola el saludo '¡Hola mundo!'.
Al trabajar con event.on()
, es importante recordar que los listeners se invocarán en el orden en que se registraron. Esto puede ser relevante si la ejecución de un listener en particular depende de los resultados procesados por otro listener.
Además, aunque Node.js puede admitir un número ilimitado de listeners para un solo evento, es útil establecer un límite para evitar perder el rastro de su código y prevenir una sobrecarga de memoria.
Se puede definir un límite máximo de listeners usando el método setMaxListeners()
.
Aquí te dejo un ejemplo:
const events = require('events');
const eventEmitter = new events.EventEmitter();
// Establecer un límite máximo de 10 listeners
eventEmitter.setMaxListeners(10);
En resumen, la función event.on()
es una herramienta poderosa y flexible para manejar eventos en Node.js. Su uso correcto e inteligente puede ayudar a construir aplicaciones de back-end eficientes y eficaces.