我对Java中的CompletableFuture有疑问.我正在等待CompletableFuture完成,并且根据收到的结果,我想要调用一个新任务并等待CompletableFuture完成或做一些不同的事情.我对我的解决方案不满意,因为有很多回调,并且阅读不同.你能帮助我改进我的代码吗?
final CompletableFutureCompletableFuture<>();
final ActorRef processCheckActor = actorSystem.actorOf(
springExtension.props("ProcessCheckActor"),"processCheckActor-" + new Random().nextInt());
final CompletableFuture
最佳答案
首先,您应该避免创建CompletableFuture< Object>.泛型类型应该是函数返回的类型(在您的情况下为CompletableFuture< ProcessCheckResponseMessage>).这样你就不需要演员了.
原文链接:https://www.f2er.com/java/437359.html我建议使用thenApply而不是thenAccept.这将为您创建第二个CompletableFuture,这意味着您不再需要第一行中的声明.
最后,作为一般规则,你应该三思而后行多线lambda,并且绝对避免使用嵌套的lambdas.您应该考虑为这些lambda创建一个新方法.