Sobes.tech
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.