Java에서 CompletableFuture와 관련된 질문이 있습니다. CompletableFuture가 완료 될 때까지 기다리는 중이고받은 결과에 따라 새 작업을 호출하고 CompletableFuture가 완료되거나 다른 작업을 수행하기를 기다리고 싶습니다. 콜백이 너무 많아서 읽는 방법이 다르므로 내 솔루션에 만족하지 않습니다. 제 코드 개선에 도움을 줄 수 있습니까?Java CompletableFuture : 콜백 hell 피하기
final CompletableFuture<String> future = new CompletableFuture<>();
final ActorRef processCheckActor = actorSystem.actorOf(
springExtension.props("ProcessCheckActor"), "processCheckActor-" + new Random().nextInt());
final CompletableFuture<Object> checkResponse =
PatternsCS.ask(processCheckActor, new ProcessToCheckMessage(processId), TIMEOUT)
.toCompletableFuture();
checkResponse.thenAccept(obj -> {
final ProcessCheckResponseMessage msg = (ProcessCheckResponseMessage) obj;
if (msg.isCorrect()) {
final CompletableFuture<Object> response =
PatternsCS.ask(processSupervisorActor, new ProcessStartMessage(processId), TIMEOUT)
.toCompletableFuture();
response.thenAccept(obj2 -> {
future.complete("yes");
});
} else {
future.complete("no");
}
});