我如何等待任务.当所有(…). continuewith (AnotherAwaitable)
本文关键字:continuewith AnotherAwaitable 任务 等待 何等待 | 更新日期: 2023-09-27 18:04:03
我有以下代码-
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();
的作用几乎相同。使用ContinueWith,然而,将给你很多移动功率,如果你使用它的重载。使用ContinueWith的一个主要原因是当你想根据第一个任务的结果有条件地执行AnotherAwaitableMethod时,或者当你想使用TaskContinuationOptions