🥇 Eventos.

Los eventos en una aplicación son todas aquellas acciones a las que podemos responder de alguna manera.

En Node existen 2 tipos de eventos, eventos del sistema y eventos personalizados.

🍿 Eventos del Sitema.

Son los eventos que provienen del Core de Node, este Core esta escrito en C++.

🍿 Eventos Personalizados.

Provienen del Core de Javascript de Node, y lidian con los eventos que podemos crear por nosotros mismos utilizando un Emisor de Eventos (Event Emitter).

🍿 Manejador de eventos.

Seguramente has revisado la documentación de la api de nodejs, en esta ocasión vamos a utilizar nuestro manejador de eventos utilizando el módulo events.

Supongamos que deseamos crear un robot, este robot tiene un control remoto que tiene las acciones.

// cargamos la libreria de eventos
var eventos = require('events');

// creamos un nuevo manejador de eventos
var control_remoto = new eventos();

// cuando presionamos adelante
control_remoto.on('adelante',function(){
    console.log('El robot camina hacia el frente');
});

// cuando presionamos atras
control_remoto.on('atras',function(){
    console.log('El robot camina hacia atras');
});

// cuando ordenamos saludar

// el robot se detiene
control_remoto.on('saludar',function(){
    console.log('Detener robot.');
});

// el robot saluda
control_remoto.on('saludar',function(){
    console.log('El robot dice "Hola, soy Genialo"!');
});

// utilizar controles
control_remoto.emit('adelante');
control_remoto.emit('atras');
control_remoto.emit('saludar');

Nuestro manejador de eventos en este caso es un control remoto, como podemos ver asignamos a cada uno de los controles un listener (vigia de un evento). Algunos eventos como el saludar tienen relacionados mas de un listener, es importante que entiendas que estos listeners son funciones y que estas funciones se invocan segun el orden fueron asociadas al evento.

Node basa su programación en eventos, esto quiere decir que podemos escribir nuestro código de arriba a abjo y las sentencias no se ejecutaran demanera procedural, sino que muchos de estos bloques estarán esperando que cierto evento suceda para que sus listener asociados se disparen.

Módulos del Core. Herencia.
comments powered by Disqus