Asynchronous rxjava合并不同类型的观察对象
我是rxjava新手。我需要组合两个发射不同类型物体的可见光。类似于Asynchronous rxjava合并不同类型的观察对象,asynchronous,observable,rx-java,rx-android,Asynchronous,Observable,Rx Java,Rx Android,我是rxjava新手。我需要组合两个发射不同类型物体的可见光。类似于Observable和Observable的东西,然后得到一个Observable。我找不到这样的接线员。做这种事情的方法是什么?请注意,牛奶和谷物是不同步的。如果不确切知道您需要什么,很难说,但可能不知道 zip将同时使用Observable和Observable并通过提供的功能将它们组合成CerealsWithMilk。每次你得到牛奶和谷物时,这会释放出一种新的谷物和牛奶 combinelatetest与zip类似,不同之处
Observable
和Observable
的东西,然后得到一个Observable
。我找不到这样的接线员。做这种事情的方法是什么?请注意,牛奶
和谷物
是不同步的。如果不确切知道您需要什么,很难说,但可能不知道
zip
将同时使用Observable
和Observable
并通过提供的功能将它们组合成CerealsWithMilk
。每次你得到牛奶和谷物时,这会释放出一种新的谷物和牛奶
combinelatetest
与zip
类似,不同之处在于它会发出一种新的谷物和牛奶
,即使刚刚发出一种新的牛奶
,或者刚刚发出一种新的谷物
如果要合并不同类型的观测值,需要使用:
注意-(只要每个源观测值至少发射了一项)。当使用zip
运算符时,问题是观测结果正在等待对方。事实上,我想使用一旦完成观察。“CombineTest”运算符能否满足我的需要?
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);
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) -> myFunc(a, b));
//...
private String myFunc(String a, Integer b) {
//your code here
return someString;
}