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.