Junior — Middle
Как можете да използвате CancellationToken за отказване на асинхронни операции във вашия проект?
sobes.tech AI
Отговор от AI
CancellationToken в C# се използва за анулиране на асинхронни операции, позволявайки правилното прекъсване на задачата по желание.
В проекта може да се предаде CancellationToken към методи, които поддържат анулиране, и да се проверява неговото състояние в асинхронния код. Ако токенът сигнализира за анулиране, операцията трябва да приключи предварително, освобождавайки ресурси.
Пример за използване:
public async Task LoadDataAsync(CancellationToken cancellationToken)
{
for (int i = 0; i < 10; i++)
{
cancellationToken.ThrowIfCancellationRequested();
await Task.Delay(1000); // симулация на работа
}
}
// Вика с възможност за анулиране
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);
// Анулиране след 3 секунди
cts.CancelAfter(3000);
try
{
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("Операцията беше отменена");
}
Този подход позволява гъвкаво управление на времето за изпълнение на асинхронните задачи и подобрява отзивчивостта на приложението.