7.1 Qué son los eventos y cómo funcionan en Nodejs

Los eventos son una pieza fundamental de Node.js ya que permiten que las aplicaciones sean más eficientes y escalables. Un evento es una señal que indica que algo ha sucedido en la aplicación, como cuando se recibe una solicitud HTTP o se produce una llamada a una función. Node.js utiliza eventos para manejar estas situaciones de manera asíncrona, lo que significa que cuando se recibe una solicitud, por ejemplo, la aplicación no se detiene para procesarla, sino que sigue ejecutando otras tareas y, una vez que se procesa la solicitud, se notifica a la aplicación a través de un evento.

Los eventos en Node.js se basan en el patrón observador (observer pattern). En este patrón, un objeto emisor envía una señal cuando ocurre un evento y los objetos observadores que se han registrado para recibir esa señal pueden responder en consecuencia. En Node.js, el objeto emisor es un EventEmitter y los objetos observadores son los listeners (escuchadores).

Para utilizar eventos en Node.js, primero necesitamos importar el módulo events y crear una instancia de EventEmitter.

const EventEmitter = require('events');
const miEmitter = new EventEmitter();

Luego, podemos definir un listener (escuchador) para el evento utilizando la función del objeto EventEmitter. Esta función toma dos argumentos: el nombre del evento y una función que se ejecutará cuando se emita ese evento.

miEmitter.on('saludar', () => {
  console.log('Hola, ¿cómo estás?');
});

Finalmente, podemos emitir el evento usando la función del objeto EventEmitter, pasando como argumento el nombre del evento.

miEmitter.emit('saludar');

Si ejecutamos este código, veremos que se muestra el mensaje ‘Hola, ¿cómo estás?’ en la consola.

También es posible pasar argumentos a la función del listener cuando se emite un evento, simplemente pasándolos como argumentos adicionales a la función .

miEmitter.on('sumar', (a, b) => {
  console.log();
});
miEmitter.emit('sumar', 2, 3);

En este ejemplo, el listener para el evento ‘sumar’ recibe dos argumentos (a y b) y muestra el resultado de sumarlos. Cuando se emite el evento ‘sumar’ con los argumentos 2 y 3, se muestra el mensaje ‘2 3 = 5’ en la consola.

En resumen, los eventos hacen que las aplicaciones de Node.js sean más eficientes y escalables al permitir que el procesamiento de tareas se realice de manera asíncrona. Los eventos se basan en el patrón observador y se implementan en Node.js utilizando el objeto EventEmitter. Los listeners se definen utilizando la función y se emite un evento utilizando la función .

AnteriorSiguiente

[mwai_chat]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *