summaryrefslogtreecommitdiffstats
path: root/events
diff options
context:
space:
mode:
authorKyle K <kylek389@gmail.com>2012-07-02 22:26:00 -0500
committerKamil Kaminski <kyle@kkaminsk.com>2012-07-02 22:26:00 -0500
commit0b2942ec56f8015c41a82937a07680028060a0e7 (patch)
treef26932c8d2dcc840492d68f658550d93b158dd05 /events
parent46230d8dd0709829859dc1feb92db17933000fcc (diff)
downloadfubar-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.js13
-rw-r--r--events/event_emitter2.js33
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');
+