gpt4 book ai didi

c# - 我怎样才能等待 Task.WhenAll( ... ).ContinueWith( AnotherAwaitable )?

转载 作者:太空狗 更新时间:2023-10-29 18:15:59 24 4
gpt4 key购买 nike

我有以下代码 -

await Task.WhenAll(TaskList /*List of Task objects*/);
await AnotherAwaitableMethod( );

这很好用并且是必需的,因为 AnotherAwaitableMethod 依赖于确保 TaskList 中的任务在执行前已完成。

但是,我希望能够说出类似的话

await Task.WhenAll(TaskList).ContinueWith( /*AnotherAwaitableMethod call?*/ );

这可能吗?我是否误解了 Task.ContinueWith 的目的?

最佳答案

  await Task.WhenAll(TaskList /*List of Task objects*/);
await AnotherAwaitableMethod( );

 await Task.WhenAll(TaskList /*List of Task objects*/).ContinueWith(_ => {AnotherAwaitableMethod();}).Unwrap();

的行为几乎相同。然而,如果你使用它的 overloads,使用 ContinueWith 会给你很多移动能力。 .使用 ContinueWith 的主要原因之一是当您想要根据第一个任务的结果有条件地执行 AnotherAwaitableMethod 或当您想要使用 TaskContinuationOptions 控制上下文时

关于c# - 我怎样才能等待 Task.WhenAll( ... ).ContinueWith( AnotherAwaitable )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31577227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com