Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var MessageBus = function() {
- this.subscribers = [];
- };
- MessageBus.prototype.subscribe = function (topic, myCallback) {
- this.subscribers[topic] = this.subscribers[topic] || []
- this.subscribers[topic].push(myCallback);
- };
- MessageBus.prototype.publish = function (topic, payload) {
- this.subscribers[topic].forEach((cb) => {
- cb(payload);
- })
- };
- var messageBus = new MessageBus('new_signup');
- messageBus.subscribe('new_signup', function(payload) {
- console.log(payload);
- });
- messageBus.subscribe('another_topic', function(payload) {
- console.log('new payload', payload);
- });
- messageBus.publish('new_signup', {'foo': 'bar', 'goo': 'gar'} );
- messageBus.publish('new_signup', {'asd': 'asd', 'vb': 'xcv'} );
- messageBus.publish('another_topic', {'asd': 'asd', 'vb': 'xcv'} );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement