组合两个发出不同类型的 Observable

Combine two Observable that emit different types

我有两个 Observable,一个 Observable<String>,一个 Observable<Boolean>。我可以将它们合并以便收到

@Override
public void call(String s, Boolean b) {

}

两个操作什么时候完成?

当你想等待从两个可观察对象发出的项目(同步它们)时,你通常需要像 Observable.zip:

这样的东西
Observable<String> o1 = Observable.just("a", "b", "c");
Observable<Integer> o2 = Observable.just(1, 2, 3);
Observable<String> result = Observable.zip(o1, o2, (a, b) -> a + b);

result 将是一个 Observable,它会生成 (a, b) -> a + bo1o2 的项目的应用。导致可观察到的产量 "a1", "b2", "c3".

您也可以将 Obervable.zipWith 与实际实例一起使用以获得相同的效果。

请注意,当没有任何东西可以压缩时,这将在更短 observable 处终止。