Advertisement
Guest User

Untitled

a guest
Apr 17th, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. EventEmitter = require('events').EventEmitter;
  2. var q = require('q');
  3.  
  4. var SequentialEE = function() {
  5.     // Hash where the key is the event name and contains
  6.     // an array of the events to be executed in the order they
  7.     // were registered
  8.     var events;
  9. }
  10.  
  11. SequentialEE.prototype.on = function(eventName, function) {
  12.     if(!this.events[eventName])
  13.         this.events[eventName] = [];
  14.  
  15.     this.events.push(function);
  16. }
  17.  
  18. SequentialEE.prototype.emit = function(name, data) {
  19.     var chain = q();
  20.     for(var key in this.events[name]) {
  21.         var f = this.events[name][key].bind(null,name,data);
  22.         chain.then(f);
  23.     }
  24. }
  25.  
  26. SequentialEE.prototype.__proto__ = EventEmitter.prototype;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement