Wil*_*ill 8 c# task async-await
我有以下一点代码 -
await Task.WhenAll(TaskList /*List of Task objects*/);
await AnotherAwaitableMethod( );
Run Code Online (Sandbox Code Playgroud)
这很好,并且是必要的,因为它AnotherAwaitableMethod依赖于确保TaskList在执行之前完成任务.
但是,我希望能够说出类似的话
await Task.WhenAll(TaskList).ContinueWith( /*AnotherAwaitableMethod call?*/ );
Run Code Online (Sandbox Code Playgroud)
这可能吗?我误解了目的Task.ContinueWith吗?
Kni*_*Fox 15
await Task.WhenAll(TaskList /*List of Task objects*/);
await AnotherAwaitableMethod( );
Run Code Online (Sandbox Code Playgroud)
和
await Task.WhenAll(TaskList /*List of Task objects*/).ContinueWith(_ => {AnotherAwaitableMethod();}).Unwrap();
Run Code Online (Sandbox Code Playgroud)
将采取几乎相同的行动.但是,如果使用其重载,使用ContinueWith会给你很大的移动能力.使用ContinueWith的主要原因之一是,您希望根据第一个任务的结果有条件地执行AnotherAwaitableMethod,或者您希望使用TaskContinuationOptions控制上下文时
| 归档时间: |
|
| 查看次数: |
4959 次 |
| 最近记录: |