Как я могу ждать задачи.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