Following the “combine the answers of all three searches” in the part of your question, you can search for Zip .
Observable<Elements> search1 = search("RxJava");
Observable<Elements> search2 = search("Reactive Extensions");
Observable<Elements> search3 = search("Eric Meijer");
Observable.zip(searc1, search2, search3,
new Func3<Elements, Elements, Elements, Elements>() {
@Override
public Elements call(Elements result1, Elements result2, Elements result3) {
return results;
}
}
).subscribeOn(Schedulers.io()).subscribe(
links -> {
links.forEach(link -> out.println(currentThreadName() + "\t" + link.text()));
latch.countDown();
},
e -> {
out.println(currentThreadName() + "\t" + "Failed: " + e.getMessage());
latch.countDown();
}
);
, ( ) , .
, zip, 1..N Func1 Func9 FuncN, .