Solución Confirmada / perdida-contexto-operaciones-async-8jklw
Pérdida de contexto en operaciones asíncronas
Diagnóstico del error
Al pasar context.Context a las goroutines, se puede perder el contexto de la operación, provocando que cancelaciones o tiempos de espera no se apliquen correctamente.
Fix Sugerido
Siempre pasa el contexto a las goroutines y asegúrate de cancelar o esperar por él. Ejemplo:
```go
func worker(ctx context.Context) {
select {
case <-ctx.Done():
// Manejar la cancelación
return
case res := <-doWork():
// Procesar el resultado
}
}
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
go worker(ctx)
```