從javadocs,AllOf()如果任何給定的CompletableFuture 異常完成,則返回的 CompletableFuture 也會這樣做,并且 CompletionException 將此異常作為其原因。AnyOf()如果它異常完成,則返回的 CompletableFuture 也會這樣做,CompletionException 將此異常作為其原因。這是否意味著當(dāng)任何 CompletableFuture 拋出異常時 allOf() 和 anyOf() 的行為方式相同?問題在于這句話返回的 CompletableFuture 也這樣做出現(xiàn)在這兩種方法中,但沒有明確提及何時發(fā)生異常。
1 回答
拉莫斯之舞
TA貢獻1820條經(jīng)驗 獲得超10個贊
不完全的。anyOf給出任一期貨完成的結(jié)果,無論是否異常。allOf在所有通過的期貨完成之前不會完成,包括異常完成的期貨。如果任何期貨異常完成,第一個異常將反映在結(jié)果中。
基本上,異常 fromanyOf將始終來自完成的一個未來,而allOf它可能來自任何一個。
添加回答
舉報
0/150
提交
取消
