Skip to content

Instantly share code, notes, and snippets.

@caike
Created September 26, 2014 20:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save caike/62cd1956067f2802c09d to your computer and use it in GitHub Desktop.
Save caike/62cd1956067f2802c09d to your computer and use it in GitHub Desktop.
EventEmitter in Node
var EventEmitter = require('events').EventEmitter;
var util = require('util');
function Player(name, signature){
this.name = name;
this.signature = signature;
}
util.inherits(Player, EventEmitter);
Player.prototype.run = function() {
var self = this;
setTimeout(function() {
self.emit('score', self.signature);
}, 5000);
};
// Running code
var player = new Player('Messi', 'kick');
player.on('score', function(style) {
console.log('Player: ' + player.name + ' scored via: ' + style);
});
player.run();
var player2 = new Player('Puyol', 'header');
player2.on('score', function(style) {
console.log('Player: ' + player2.name + ' scored via: ' + style);
});
player2.run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment