Equivalente a ContinueWith (delegate, CancellationToken) com aguardar continuação
Eu tenho essa situação:
private Task LongRunningTask = /* Something */;
private void DoSomethingMore(Task previousTask) { }
public Task IndependentlyCancelableSuccessorTask(CancellationToken cancellationToken)
{
return LongRunningTask.ContinueWith(DoSomethingMore, cancellationToken);
}
Em particular, o comportamento que me interessa aqui é detalhado emPágina do MSDN sobre tarefas de continuação nos seguintes termos:
Uma continuação entra noCanceled
estado nestes cenários:
System.Threading.CancellationToken
como argumento e oIsCancellationRequested
propriedade do token étrue
antes da continuação ser executada. Nesse caso, a continuação não inicia e faz a transição para oCanceled
Estado.O código acima funciona. No entanto, estou no processo de converter o maior número possível de minhas continuações para usar oawait
palavra-chave
Existe um equivalente usandoawait
que permitiria o cancelamento da continuação antes da conclusão da tarefa esperada?