假设我有一个Flowable
的列表,我希望在所有Flowable
完成之前做一些事情,我该怎么办?
List<Flowable<Model>> flowableList = getFlowableList();
List<List<Model>> results = blockUntilAllFlowablesAreFinished(flowableList); // is there a similar method?
... // do something with results
答案 0 :(得分:2)
我不确定你为什么以同步的方式思考,但我相信你会用以下的方式实现你的目标:
var count = 0;
for (var i = 0; i < myArray.length; i++) {
if(element == 'something'){
count++;
}
});
if(count == 2){
// Things
}
当然,除了Flowable.combineLatest(flowableList -> {
// do something with results
});
之外,还有许多运营商可以让你“结合”#34;可流动的,例如combineLatest
。选择一个适合你的https://github.com/ReactiveX/RxJava/wiki/Combining-Observables
答案 1 :(得分:1)
我认为您可以将Flowable.zip()
与Iterable
一起用作参数,当Iterable中的所有Flowable完成时它将会发出。