From 0b2942ec56f8015c41a82937a07680028060a0e7 Mon Sep 17 00:00:00 2001 From: Kyle K Date: Mon, 2 Jul 2012 22:26:00 -0500 Subject: learn on events, tweak html --- events/event_emitter1.js | 13 +++++++++++++ events/event_emitter2.js | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 events/event_emitter1.js create mode 100644 events/event_emitter2.js (limited to 'events') diff --git a/events/event_emitter1.js b/events/event_emitter1.js new file mode 100644 index 0000000..4bf9868 --- /dev/null +++ b/events/event_emitter1.js @@ -0,0 +1,13 @@ +var events = require('events'); +var ee = new events.EventEmitter(); + +ee.on('myevent', function(msg) { + console.log('handling event, got ' + msg); +}); + +function foo() { + ee.emit('myevent', 'foo'); +} + +setInterval(foo, 1000); + diff --git a/events/event_emitter2.js b/events/event_emitter2.js new file mode 100644 index 0000000..6845f2a --- /dev/null +++ b/events/event_emitter2.js @@ -0,0 +1,33 @@ +var events = require('events'); +var util = require('util'); + +function MyEventEmitter() { + if (false === (this instanceof MyEventEmitter)) + return new MyEventEmitter(); + + /* inherit all prototype objects, methods, etc */ + events.EventEmitter.call(this); /* hmm this calls a ctor? notice it's not a method */ +} +/* ensure that the prototype methods of the specified superCtor are inherited into ctor */ +util.inherits(MyEventEmitter, events.EventEmitter); + +MyEventEmitter.prototype.poke = function(msg) { + this.emit('poke', 'poking ' + msg) +} + +MyEventEmitter.prototype.yell = function(msg) { + this.emit('poke', 'yelling at ' + msg) +} + +var ee = new MyEventEmitter; + +ee.on('poke', function(msg) { + console.log(msg); +}) + .on('yell', function(msg) { + console.log(msg); +}); + +ee.poke('kyle'); +ee.yell('bro'); + -- cgit v1.2.3