Я новичок в RxJava. У меня есть несколько клиентов Jersey RxJava, которые возвращают Observables. Мне нужно сделать один вызов, чтобы получить некоторые данные, эти данные станут входными данными для моих следующих 3 вызовов. Я хочу, чтобы эти звонки были сделаны параллельно. Наконец, я хочу выполнить расчет после завершения всех вызовов, для которого требуются все данные. Вот как это выглядит:
interface Service {
Observable<ResultA> callServiceA(InitialData input);
Observable<ResultB> callServiceB(ResultA resultA);
Observable<ResultC> callServiceC(ResultA resultA);
Observable<ResultD> callServiceD(ResultA resultA);
FinalResult simpleCalculation(ResultA a, ResultB b, ResultC c, ResultD d);
}
class MyClass{
@Autowired
ExecutorService myExecutorService;
Observable<FinalResult> myMethod(InitialData initialData){
/* Make call to ServiceA, get the results, then make calls to services B, C, and D in parallel (on different threads), finally perform simpleCalculation, and emit the result */
}
}