Как я могу ждать задачи.WhenAll(....ContinueWith(AnotherAwaitable?
у меня есть следующий кусок кода -
await Task.WhenAll(TaskList /*List of Task objects*/);
await AnotherAwaitableMethod( );
это отлично работает и необходимо как AnotherAwaitableMethod
полагается на то, чтобы убедиться, что задача в TaskList
- это полное перед выполнением.
тем не менее, я хотел бы иметь возможность сказать что-то вроде
await Task.WhenAll(TaskList).ContinueWith( /*AnotherAwaitableMethod call?*/ );
это возможно? Я неправильно понял цель Task.ContinueWith
?
1 ответов
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