【发布时间】:2018-10-07 00:04:24
【问题描述】:
我希望在某些任务可能失败的情况下使用 Task.WhenAll,但我仍然需要来自其余已完成任务的结果数据。
根据MSDN,
如果提供的任何任务在故障状态下完成,则 返回的任务也将在故障状态下完成,其中它的 异常将包含未包装集合的聚合 每个提供的任务的例外。
但是,它没有说的是 Task.WhenAll 是否仍将等待其余任务在该实例中完成。任何人都可以就这个问题提供任何澄清吗?
【问题讨论】:
-
我认为最后的WhenAny是一个错字,因为WhenAny自然不会等待,但WhenAll会。
-
只需用两个 TaskCompletionSource 对象编写一个小测试来“感受”它的工作原理
-
@SamiKuhmonen 是的,感谢您指出错字。
标签: c#