- evemit.js
- evemit2.js
- evemit3.js
Last active
June 19, 2017 00:16
-
-
Save rpragana/a995424798f9271f238a766aae5a3ec6 to your computer and use it in GitHub Desktop.
eventemitter
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env nodemon | |
| var events = require('events'); | |
| var eventEmitter = new events.EventEmitter(); | |
| var listener1 = function (cor) { | |
| console.log('listener1 executado, cor '+cor); | |
| } | |
| var listener2 = function (cor) { | |
| console.log('listener2 executado, cor '+cor); | |
| } | |
| var listener3 = function (cor) { | |
| console.log('listener3 executado, cor '+cor); | |
| } | |
| eventEmitter.addListener('conexao', listener1); | |
| eventEmitter.on('conexao', listener2); | |
| eventEmitter.once('conexao', listener3); /**** esse só executa uma vez ****/ | |
| var corAleatoria = function () { | |
| const cores = ['azul', 'amarelo', 'verde', 'cinza', | |
| 'vermelho', 'laranja', 'marrom', 'branco'] | |
| return cores[Math.floor(Math.random() * cores.length)] | |
| } | |
| var eventListeners = require('events') | |
| .EventEmitter.listenerCount(eventEmitter,'conexao'); | |
| console.log(eventListeners + " Listener(s) aguardando o evento conexao"); | |
| eventEmitter.emit('conexao',corAleatoria()); /* evento ‘conexao’ disparado */ | |
| eventEmitter.removeListener('conexao', listener1); | |
| console.log("Listener1 não escutará mais o evento conexao."); | |
| for (var i=0; i<10; i++) { | |
| /**** emite mais algumas vezes o evento ****/ | |
| eventEmitter.emit('conexao',corAleatoria()); | |
| } | |
| var eventListeners = require('events') | |
| .EventEmitter.listenerCount(eventEmitter,'conexao'); | |
| console.log(eventListeners + " Listener(s) aguardando o evento conexao"); | |
| console.log("Fim do programa."); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var EventEmitter = require('events').EventEmitter; | |
| function loopProc(loops) { | |
| var e = new EventEmitter(); | |
| setTimeout(function () { | |
| for (var i = 1; i <= loops; i++) { | |
| e.emit('entrada', i); | |
| console.log('Loop numero:' + i); | |
| e.emit('saida', i); | |
| } | |
| }, 2000) | |
| return e; | |
| } | |
| var lp = loopProc(3); | |
| lp.on('entrada', function (data) { | |
| console.log('Iniciando processamento ' + data); | |
| }); | |
| lp.on('saida', function (data) { | |
| console.log('Finalizando processamento ' + data); | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var EventEmitter = require('events').EventEmitter; | |
| function loopProc(loops) { | |
| var e = new EventEmitter(); | |
| setTimeout(function () { | |
| for (var i = 1; i <= loops; i++) { | |
| e.emit('entrada', i); | |
| console.log('Loop numero:' + i); | |
| e.emit('saida', i); | |
| } | |
| }, 2000) | |
| return e; | |
| } | |
| var lp = loopProc(3); | |
| lp.on('entrada', function (data) { | |
| console.log('Iniciando processamento ' + data); | |
| }); | |
| lp.on('saida', function (data) { | |
| console.log('Finalizando processamento ' + data); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment