У меня есть две Observables, которые являются вызовами API. Я хочу, чтобы эти два работали параллельно, и после того, как они оба закончатся sh, я хочу назвать третью наблюдаемую с объединенным результатом.
Например:
У меня есть Observable<List<Place>> getPlaces()
и Observable<AdditionalPlaceData> getAdditonalPlaceData()
Моя идея заключалась в том, чтобы создать метод, который архивирует их, затем обогащает места дополнительными данными и вызывает третью наблюдаемую
Я пытаюсь это так, но BiFunction of Observable.zip не может вернуть наблюдаемое:
private Observable<List<Place>> getPlaces(){
return Observable.zip(getPlaces(), getAdditonalPlaceData(),(places, additonalPlaceData) -> {
//enrich places with additional data
return thirdApiCall(places);//This is not allowed
});
}
Есть ли другой способ вместо Observable.zip, которого я не знаю, чтобы добиться этого варианта использования? И я не хочу использовать flatMap, потому что он будет запускать две наблюдаемые в последовательности. Спасибо за вашу помощь.