diff --git a/packages/livedata/livedata_connection.js b/packages/livedata/livedata_connection.js index b9ec551f96..4ce7964191 100644 --- a/packages/livedata/livedata_connection.js +++ b/packages/livedata/livedata_connection.js @@ -534,6 +534,19 @@ _.extend(Meteor._LivedataConnection.prototype, { return handle; }, + _subscribeAndWait: function (/* arguments */) { + var self = this; + var f = new Future(); + var args = _.toArray(arguments).slice(1); + args.push({ + onReady: function () { f.return(); }, + onError: function (e) { f.throw(e); } + }); + + self.subscribe.apply(self, args); + return f.wait(); +}, + methods: function (methods) { var self = this; _.each(methods, function (func, name) {