diff --git a/lib/trie_ascoltatore.js b/lib/trie_ascoltatore.js index f62fa08..673954a 100644 --- a/lib/trie_ascoltatore.js +++ b/lib/trie_ascoltatore.js @@ -2,6 +2,7 @@ var AbstractAscoltatore = require("./abstract_ascoltatore"); var util = require("./util"); +var steed = require("steed"); var defer = util.defer; var debug = require("debug")("ascoltatori:trie"); var Qlobber = require("qlobber").Qlobber; @@ -50,11 +51,12 @@ TrieAscoltatore.prototype.publish = function (topic, message, options, done) { var cbs = this._matcher.match(topic); - for (var i = 0; i < cbs.length; i++) { - cbs[i](topic, message, options); + function clientCallback(cb, next){ + cb(topic, message, options); + next(); } - - defer(done); + + steed.each(cbs, clientCallback, done); }; TrieAscoltatore.prototype.unsubscribe = function unsubscribe(topic, callback, done) {