我正在执行3个HTTP请求。我想同时触发所有内容,等待所有内容完成,然后合并三个请求,同时保留序列的顺序。假设我有请求r1
,r2
和r3
,我想按顺序处理结果。我试过这个:
Observable<HttpResponse> r1, r2, r3;
Observable<List<HttpResponse>> merged = Observable.merge(r1, r2, r3).buffer(3);
在这种情况下,无法保证r3在返回列表中是索引2。建议?
答案 0 :(得分:3)
当前的RxJava快照包含一个concatMapEager
,它将立即运行其源并一个接一个地加入它们。它将是1.0.15的一部分,但我不知道Netflix什么时候会发布它。如果您不想依赖快照,请执行the source代码并将其手动提升到您的序列中。