Sobes.tech
Junior — Middle

¿Cómo se puede utilizar CancellationToken para cancelar operaciones asíncronas en su proyecto?

sobes.tech AI

Respuesta de la IA

CancellationToken en C# se utiliza para cancelar operaciones asincrónicas, permitiendo interrumpir correctamente la ejecución de una tarea a petición.

En un proyecto, se puede pasar CancellationToken a métodos que soportan cancelación y verificar su estado dentro del código asincrónico. Si el token indica cancelación, la operación debe finalizar anticipadamente, liberando recursos.

Ejemplo de uso:

public async Task LoadDataAsync(CancellationToken cancellationToken)
{
    for (int i = 0; i < 10; i++)
    {
        cancellationToken.ThrowIfCancellationRequested();
        await Task.Delay(1000); // simulación de trabajo
    }
}

// Llamada con posibilidad de cancelar
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);

// Cancelar después de 3 segundos
cts.CancelAfter(3000);

try
{
    await task;
}
catch (OperationCanceledException)
{
    Console.WriteLine("La operación fue cancelada");
}

Este enfoque permite gestionar de manera flexible el tiempo de ejecución de tareas asincrónicas y mejora la capacidad de respuesta de la aplicación.