猿问

CompletableFuture.allOf() 与 anyOf()

从javadocs,

AllOf()

如果任何给定的CompletableFuture 异常完成,则返回的 CompletableFuture 也会这样做,并且 CompletionException 将此异常作为其原因。

AnyOf()

如果它异常完成,则返回的 CompletableFuture 也会这样做,CompletionException 将此异常作为其原因。

这是否意味着当任何 CompletableFuture 抛出异常时 allOf() 和 anyOf() 的行为方式相同?

问题在于这句话

返回的 CompletableFuture 也这样做

出现在这两种方法中,但没有明确提及何时发生异常。


UYOU
浏览 1397回答 1
1回答

拉莫斯之舞

不完全的。anyOf给出任一期货完成的结果,无论是否异常。allOf在所有通过的期货完成之前不会完成,包括异常完成的期货。如果任何期货异常完成,第一个异常将反映在结果中。基本上,异常 fromanyOf将始终来自完成的一个未来,而allOf它可能来自任何一个。
随时随地看视频慕课网APP

相关分类

Java
我要回答