当任何任务发生异常时,WhenAll 会提前退出
作者: all-iver创建于 2023年10月22日更新于 2026年4月13日
似乎当任何等待的任务抛出异常时,WhenAll 会立即失败,而不是等待所有任务完成后再抛出异常。我认为这与正常的 Task 行为不同,后者会等待所有任务完成,无论其中一些任务是否失败。 这对我来说是意想不到的行为,因为我期望某些任务偶尔会失败,但我仍然需要确保所有任务都完成了才能继续。从 #335 中我了解到,WhenAll 不会存储单个任务的异常,但我认为它不应该仅仅因为一个任务失败就转换为 WhenAny ...也许它可以存储第一个发生的异常,然后在所有任务完成后重新抛出该异常?
内容来源: Cysharp/UniTask