参见英文答案 >
rxjava merge observables of different type2个
我有两个Observable,一个Observable< String>,一个Observable< Boolean>.我可以将它们结合起来,这样我就可
我有两个Observable,一个Observable< String>,一个Observable< Boolean>.我可以将它们结合起来,这样我就可
@Override public void call(String s,Boolean b) { }
两个操作完成后?
解决方法
当你想要等待从两个observable发出的项目(同步它们)时,你通常需要像
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);
结果将是一个可观察的产生(a,b)的应用 – > a到o1和o2的项目.导致可观察到的屈服“a1”,“b2”,“c3”.
您还可以将Obervable.zipWith
与实际实例一起使用以获得相同的效果.
请注意,当没有任何要压缩的内容时,这将在较短的observable上终止.