Sobes.tech
Junior — Middle

Kako se može koristiti CancellationToken za otkazivanje asinhronih operacija u vašem projektu?

sobes.tech АИ

Одговор од АИ

CancellationToken u C# se koristi za otkazivanje asinhronih operacija, omogućavajući pravilno prekidanje zadatka na zahtev.

U projektu, CancellationToken se može proslediti metodama koje podržavaju otkazivanje i proveravati njegovo stanje unutar asinhronog koda. Ako token signalizira otkazivanje, operacija treba da se završi pre vremena, oslobađajući resurse.

Primer upotrebe:

public async Task LoadDataAsync(CancellationToken cancellationToken)
{
    for (int i = 0; i < 10; i++)
    {
        cancellationToken.ThrowIfCancellationRequested();
        await Task.Delay(1000); // simulacija rada
    }
}

// Poziv sa mogućnošću otkazivanja
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);

// Otkazivanje nakon 3 sekunde
cts.CancelAfter(3000);

try
{
    await task;
}
catch (OperationCanceledException)
{
    Console.WriteLine("Operacija je otkazana");
}

Ovaj pristup omogućava fleksibilno upravljanje vremenom izvršavanja asinhronih zadataka i poboljšava odzivnost aplikacije.