Observer
This is an observer pattern module
Install
npm install node-observer
Example
Main file: app.js
"use strict"; var observer = require("node-observer");var hello = require("./hello"); observer.subscribe(this, "HELLO", function(who, data) { console.log(data);}); hello.send();
File: hello.js
"use strict"; var observer = require("node-observer"); var Hello = function() { }; Hello.prototype.send = function() { observer.send(this, "HELLO", "hello world!!!");}; module.exports = new Hello();
Run
node app.js
API
subscribe(object, event, callback)
object:object, event:string, callback:function
subscribe event
unsubscribe(object, event)
object:object, event:string
unsubscribe event
send(object, event, data)
object:object, event:string, data:object
send event 'event' with data 'data'
Browser version
Under client directory there is a browser version of library. Added script tag in your html file. See the example below.
File index.html
Javascript observer pattern example: see the result in console
File app.js
$(function() { Observer.subscribe(this, 'HELLO', function(who, data) { console.log(data); });});
File mylib.js
(function(window) { var getInstance = function() { Observer.send(this, 'HELLO', 'Hello world!!!'); }; if (typeof(mylib) === 'undefined') { window.mylib = getInstance(); } else { console.log('mylib already defined.'); } })(window);