Ich bin neu bei RxJava. Ich habe ein paar Jersey RxJava Kunden, die Observables zurückgeben. Ich muss einen Anruf tätigen, um einige Daten zu erhalten, diese Daten werden die Eingabe für meine nächsten 3 Anrufe. Ich möchte, dass diese Anrufe parallel gemacht werden. Schließlich möchte ich eine Berechnung durchführen, sobald alle Anrufe abgeschlossen sind, die alle Daten erfordert. Hier ist, wie es aussieht:Wie kann ich mehrere beobachtbare Aufrufe asynchron aufrufen, aber gleichzeitig vor und nach diesen Aufrufen einige Berechnungen durchführen?
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 */
}
}
Können Sie mir geben Beispielcode? – Adam