Back to questions
Junior — Middle
67
Каким образом можно использовать CancellationToken для отмены асинхронных операций в вашем проекте?
Companies where asked
ООО Клеркгрупп
Answer from AI
sobes.tech 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("Операция была отменена");
}
Такой подход позволяет гибко управлять временем выполнения асинхронных задач и улучшает отзывчивость приложения.