java带链中_java-如何访问CompletableFuture链中的所有以前...

我正在使用Java 8应用程序.我有3个返回CompletionStage的方法:

> CompletionStage< Edition> editionService.loadById(editionId);

> CompletionStage< Event> eventService.loadById(eventId);

> CompletionStage< List< EditionDate>> editionDateService.loadByEditionId(editionId);

以及将这些值合并为结果的方法

> CompletionStage< Result> getResult(版本,事件,List< EditionDate> editionDates)

方法1和3可以独立运行,但是方法2的调用取决于方法1的结果.显然,方法4取决于所有方法的运行.我的问题是,使用CompletableFuture api调用这些方法的最佳方法是什么?这是我能想到的最好的方法,但是我不确定这是最好的方法:

editionService.loadById(editionId)

.thenCompose(edition -> eventService.loadById(edition.getEventId()))

.thenCombine(editionDateService.loadByEditionId(editionId),

(event, editionDates) -> getResult(edition, event, editionDates) );

但是这样一来,我将无法获得我的版本结果,因此我有点茫然.我应该使用的任何我没有考虑的方法?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值