我有问题。有没有像RxJava中的Promise.all()方法?
我需要通过项目id的列表来获取一些项目的列表。 起初,我试图
Observable.from(itemIds)
.flatMap(itemId -> requestToServer(itemId))
.subscribe(item -> { /* do something */ });
但运营商flatMap
并不能保证项目的顺序。 我需要得到的项目为ItemIds
。
如果有像Promise.all()
这样的api,那将会很棒。 RxJava中有没有类似Promise.all()
的方法?或者其他方式?
是的,但是'concatMap'处理请求一个一个。 我想要做的是所有的请求都是并发的,但是所有的响应都是按顺序的。作为'Promise.all()'做。 – chooblarin
也许这篇文章会有帮助吗?虽然没有尝试过这个技巧,但是''concatMap',所以不确定:http://tomstechnicalblog.blogspot.com/2015/11/rxjava-achieving-parallelization.html –
我找到'concatMapEager'运算符。也许,这是我需要的。谢谢! – chooblarin