저는 RxJava를 처음 사용합니다. Observables를 반환하는 저지 RxJava 클라이언트가 몇 대 있습니다. 일부 데이터를 얻으려면 한 번의 호출을해야하며 그 데이터는 다음 3 번의 호출에 대한 입력이됩니다. 나는 그 부르심을 평행하게 만들어주기를 바란다. 마지막으로 모든 데이터가 필요한 모든 호출이 완료되면 계산을 수행하려고합니다. 여기 보이는 방법입니다 여러 통화를 보내 다음, 동기 호출을 할 flatMap를 사용하여 지퍼를 사용하거나 병합 할 수 있습니다여러 관찰 가능 호출을 비동기 적으로 호출 할 수 있지만 그 호출 전후에 동 기적으로 계산을 수행 할 수 있습니까?
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 */
}
}
당신이 나에게 샘플 코드를 제공 할 수 있습니까? – Adam