Sobes.tech
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.