メソッドの呼び出し/結果を次の呼び出しにチェーンしようとしています。前の呼び出しから objB の参照を取得できない場合、コンパイル時エラー methodE が発生します。
前の呼び出しの結果を次のチェーンに渡すにはどうすればよいですか? プロセスを完全に誤解していませんか?
Object objC = CompletableFuture.supplyAsync(() -> service.methodA(obj, width, height))
.thenApply(objA -> {
try {
return service.methodB(objA);
} catch (Exception e) {
throw new CompletionException(e);
}
})
.thenApply(objA -> service.methodC(objA))
.thenApply(objA -> {
try {
return service.methodD(objA); // this returns new objB how do I get it and pass to next chaining call
} catch (Exception e) {
throw new CompletionException(e);
}
})
.thenApply((objA, objB) -> {
return service.methodE(objA, objB); // compilation error
})
.get();