0

我使用 Rx.js 和 JqueryPromises 我遇到了一种情况,我调用一个方法来处理由 Rx 发布的事件。但是,此方法返回一个承诺。

eventStream.Subscribe(function(e) { methodThatReturnsPromise(e);});

问题是事件的处理不再是确定性的。由于 methodThatReturnsPromise 在延迟处理时立即返回。

我的问题:) 有没有办法“等待”承诺?Rx 是否有任何钩子来使用承诺,即将返回的订阅承诺链接到下一个返回的订阅承诺,所以消息仍然按顺序处理?

4

1 回答 1

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();
于 2013-03-29T17:48:01.827 回答