Эквивалент ContinueWith (делегат, CancellationToken) с ожиданием продолжения
У меня такая ситуация:
private Task LongRunningTask = /* Something */;
private void DoSomethingMore(Task previousTask) { }
public Task IndependentlyCancelableSuccessorTask(CancellationToken cancellationToken)
{
return LongRunningTask.ContinueWith(DoSomethingMore, cancellationToken);
}
В частности, интересующее меня поведение подробно описано вСтраница MSDN о задачах продолжения в следующие сроки:
Продолжение идет вCanceled
укажите в этих сценариях:
System.Threading.CancellationToken
в качестве аргумента и томуIsCancellationRequested
Свойство токенаtrue
до продолжения работает. В таком случае продолжение не запускается и переходит кCanceled
государство.Код выше работает. Однако я нахожусь в процессе преобразования как можно большего количества моих продолжений в использованиеawait
ключевое слово.
Есть ли эквивалент использованияawait
что позволит отменить продолжение до завершения ожидаемой задачи?