我使用Rx.js和JqueryPromises 我遇到了一种情况,我调用一种方法来处理由Rx发布的事件。然而,这种方法会返回一个承诺。
eventStream.Subscribe(function(e) { methodThatReturnsPromise(e);});
问题在于事件的处理不再是确定性的。 as methodThatReturnsPromise在推迟处理时立即返回。
我的问题:) 有没有办法“等待”承诺? 是否有任何钩子让Rx使用promises,即将订阅的返回承诺链接到下一个返回的订阅承诺,因此仍然按顺序处理消息?
答案 0 :(得分:0)
此代码似乎可以为其他任何感兴趣的人提供帮助。 我只需要将退货延期链接起来。
var seed = $.Deferred();
seed.resolve();
observable.aggregate(seed, function(chain, n){
return chain.then(function(){
console.log("Starting on Event " + n);
return process(n);
});
}).subscribe();