1
我正在使用RxJava,我想根据某些条件动态创建一些Observable。一旦完成创建,我想对observables返回的不同值进行一些处理,然后将其作为单个Observable发送给我可以订阅的对象。这里是我的代码是如何:RxJava:动态创建Observables并将最终的resut作为Observable发送
List<String> valueList = ....
List<Observable<String>> listOfObservables = new ArrayList<Observable<String>>();
for(int i =; i <valueList.size(); i++){
listOfObservables.add(new SomeClass.doOperation(valueList(i)));
// SomeClass.doOperation will return an Observable<String>
}
return Observable.merge(listOfObservables);
但在这里,我希望做不同的观测量发出的价值观有些操作在listOfObservable
终于在Observable.zip()
返回它作为一个单一Observable<String>
一样,我可以这样做
return Observable.zip(observable1, observable2, (string1, string2) -> {
// joining final string here
return string1 + string2;
但我知道这里的参数数量。请让我知道我能做到这一点。
能否请您解释一下吗?比如我如何获得单个字符串来执行操作? – v1shnu
我已经添加了一个示例用法。请记住,如果你不关心顺序,也许'合并',那么'reduce'会更简单。 –
谢谢你。这很好用! – v1shnu