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.