Junior — Middle
Como pode usar o CancellationToken para cancelar operações assíncronas no seu projeto?
sobes.tech IA
Resposta da IA
CancellationToken em C# é utilizado para cancelar operações assíncronas, permitindo interromper corretamente a execução de uma tarefa mediante solicitação.
No projeto, pode-se passar CancellationToken para métodos que suportam cancelamento e verificar seu estado dentro do código assíncrono. Se o token sinalizar cancelamento, a operação deve terminar antecipadamente, liberando recursos.
Exemplo de uso:
public async Task LoadDataAsync(CancellationToken cancellationToken)
{
for (int i = 0; i < 10; i++)
{
cancellationToken.ThrowIfCancellationRequested();
await Task.Delay(1000); // simulação de trabalho
}
}
// Chamada com possibilidade de cancelamento
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);
// Cancelar após 3 segundos
cts.CancelAfter(3000);
try
{
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("Operação cancelada");
}
Essa abordagem permite gerenciar de forma flexível o tempo de execução de tarefas assíncronas e melhora a capacidade de resposta do aplicativo.