订阅2个不同的Observable和onNext它们两个?

时间:2016-11-09 17:05:21

标签: java android rx-java reactive-programming

鉴于我订阅了2个不同的Observable,我希望在对它们进行一些操作之后在onNext上获取它们

让我说我有2个Observables

Observable<List<String>> childName = Observable.from(children)... some operations
Observable<List<String>> teacherName = Observable.from(teachers)... some operations

如何在我的订阅中获得这两个?

subscribe( 
    onNext(List<String> childName, List<String> className)

这样我就可以以这种方式在听众中传递它们。

我不想将它们组合在一起,我只想在操作完成后获取它们并将其传递给我的订阅

2 个答案:

答案 0 :(得分:3)

您可以zip将其值Pair添加到Observable.zip(childName, className, (a, b) -> Pair.of(a, b)) .subscribe((Pair<List<String>, List<String>> pair) -> { // do something with pair.first and pair.second }, Throwable::printStackTrace);

{{1}}

答案 1 :(得分:0)

hacky但很简单

Observable.zip(childName, teacherName, (childList, teachersList) -> {
    // handle childList & teachersList
    return Observable.empty();
}).subscribe(o -> {}, error -> {
    //handle errors
});