我有两个可观察到的A& B,他们每个人将分别查询数据。现在我想结合两个流的响应数据来做另一个查询。
这是有效的代码:
Observable<App> appObservable = this.appRepository.getApp();
Observable<DeviceInfo> deviceInfoObservable = this.deviceRepository.getDeviceInfo();
Observable<HashMap<String, Object>> combineDataObservable = Observable.zip(appObservable, deviceInfoObservable, (app, deviceInfo) -> {
HashMap<String, Object> keyVal = new HashMap<>();
keyVal.put("myApp", app);
keyVal.put("myDevice", deviceInfo);
return keyVal;
});
Observable<String> registerDataObservable = combineDataObservable.flatMap(keyVal -> {
App app = (App) keyVal.get("myApp");
DeviceInfo deviceInfo = (JmDeviceInfo) keyVal.get("myDevice");
return appRepository.registerApp(app, deviceInfo);
});
有什么方法我不需要使用第三个observable(combinedDataObservable)来准备我想要的数据吗?
由于