私はRxJavaを使い慣れました。 Observablesを返すJersey RxJavaクライアントがいくつかあります。いくつかのデータを取得するために1回の呼び出しを行う必要があり、そのデータは次の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 */
}
}
をあなたは私のサンプルコードを与えることはできますか? – Adam