【发布时间】:2020-04-04 18:48:39
【问题描述】:
下面的代码 sn-p 巩固可完成的未来。下面的问题是我的一些期货异常完成,所以总的来说我的结果异常完成。
从 java 文档中我了解到,当任何未来抛出异常时,allof 都会返回异常 “返回一个新的 CompletableFuture,它在所有给定的 CompletableFuture 完成时完成。如果任何给定的 CompletableFuture 异常完成,则返回的 CompletableFuture 也会这样做,并带有一个 CompletionException 将此异常作为其原因。”
但我没有看到任何其他 api 可以帮助我在一切完成后获得未来
有人可以帮助我或任何线索我如何跳过异常完成的期货。换句话说,我想获得无例外地完成的期货。
CompletableFuture<List<Pair<ExtensionVO, GetObjectResponse>>> result =
CompletableFuture.allOf(
completableFutures.toArray(new CompletableFuture<?>[completableFutures.size()]))
.thenApply(
v ->
completableFutures
.stream()
.map(CompletableFuture::join)
.filter(Objects::nonNull)
.collect(Collectors.toList()));
【问题讨论】:
标签: java concurrency completable-future