私は、2つの他の先物から2つのパラメータを取るのが理想的です。これについて私は.comCombine()を持っています。ここでのトリックは、2番目の未来が最初のものの結果を必要とすることです。未来をJavaの他の2つに依存する方法
さんが言ってみましょう:私は先物を持って
- をA、BおよびC
- 将来Bが
- 今後のCは、将来Aの結果とB
私は次のようなものを持っています:
CompletableFuture<Customer> customerFuture = CompletableFuture.supplyAsync(() -> findCustomer(123));
CompletableFuture<Shop> shopFuture = CompletableFuture.supplyAsync((customer) ->getAllAccessibleShops(customer));
CompletableFuture<Route> routeFuture = customerFuture.thenCombine(shopFuture, (cust, shop) -> findRoute(cust, shop));
もちろん、thenCombine()は私が探しているものではありません。後で顧客が必要ないはずだから上のコードは馬鹿に見えますが、これはほんの一例です。
これを達成する方法はありますか?
手順を順番に実行する必要がある場合は、それらが別々の先物である理由は何ですか? –
@jimmycarrあなたはこれを詳しく説明できますか?私は本当に興味があります –
未来のポイントは、バックグラウンドでいくつかの処理を行い、後で結果を得ることです。将来のBとCがそれ以前の他の先物に依存しているならば、それをすべて将来のものにすることは、お互いに依存する3つの別々の先物に入れることと同じくらい早いです。 –