diff options
author | Kyle K <kylek389@gmail.com> | 2012-07-02 22:26:00 -0500 |
---|---|---|
committer | Kamil Kaminski <kyle@kkaminsk.com> | 2012-07-02 22:26:00 -0500 |
commit | 0b2942ec56f8015c41a82937a07680028060a0e7 (patch) | |
tree | f26932c8d2dcc840492d68f658550d93b158dd05 /events | |
parent | 46230d8dd0709829859dc1feb92db17933000fcc (diff) | |
download | fubar-0b2942ec56f8015c41a82937a07680028060a0e7.tar.gz fubar-0b2942ec56f8015c41a82937a07680028060a0e7.tar.bz2 fubar-0b2942ec56f8015c41a82937a07680028060a0e7.zip |
learn on events, tweak html
Diffstat (limited to 'events')
-rw-r--r-- | events/event_emitter1.js | 13 | ||||
-rw-r--r-- | events/event_emitter2.js | 33 |
2 files changed, 46 insertions, 0 deletions
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'); + |