Junior — Middle
Ako môžete použiť CancellationToken na zrušenie asynchrónnych operácií vo vašom projekte?
sobes.tech AI
Odpoveď od AI
CancellationToken v C# se uporablja za preklic asinhronih operacij, kar omogoča pravilno prekinitev naloge na zahtevo.
V projektu lahko CancellationToken prenesete v metode, ki podpirajo preklic, in preverjate njegovo stanje znotraj asinhronega kode. Če token signalizira preklic, mora biti operacija predčasno zaključena, sprostite vire.
Primer uporabe:
public async Task LoadDataAsync(CancellationToken cancellationToken)
{
for (int i = 0; i < 10; i++)
{
cancellationToken.ThrowIfCancellationRequested();
await Task.Delay(1000); // simulacija dela
}
}
// Klic z možnostjo preklica
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);
// Preklic po 3 sekundah
cts.CancelAfter(3000);
try
{
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("Operacija je preklicana");
}
Ta pristop omogoča prilagodljivo upravljanje časa izvajanja asinhronih nalog in izboljšuje odzivnost aplikacije.