Odpowiednik ContinueWith (delegat, CancellationToken) z oczekiwaniem na kontynuację
Mam taką sytuację:
private Task LongRunningTask = /* Something */;
private void DoSomethingMore(Task previousTask) { }
public Task IndependentlyCancelableSuccessorTask(CancellationToken cancellationToken)
{
return LongRunningTask.ContinueWith(DoSomethingMore, cancellationToken);
}
W szczególności, zachowanie, które mnie interesuje, jest szczegółowo opisane wStrona MSDN o zadaniach kontynuacji w następujących terminach:
Kontynuacja idzie doCanceled
określ w tych scenariuszach:
System.Threading.CancellationToken
jako argument iIsCancellationRequested
właściwość tokena totrue
przed kontynuacją. W takim przypadku kontynuacja nie rozpoczyna się i przechodzi doCanceled
stan.Powyższy kod działa. Jestem jednak w trakcie przekształcania jak największej liczby moich kontynuacji w używanieawait
słowo kluczowe.
Czy istnieje odpowiednikawait
co pozwoli na anulowanie kontynuacji przed zakończeniem oczekiwanego zadania?