Junior — Middle
¿Cómo implementar un tiempo de espera de contexto en su aplicación en Go?
sobes.tech AI
Respuesta de la IA
En Go, para implementar un tiempo de espera en el contexto se utiliza el paquete context. Se crea un contexto con un tiempo de espera mediante la función context.WithTimeout, que devuelve un nuevo contexto y una función de cancelación.
Ejemplo:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
select {
case <-time.After(3 * time.Second):
fmt.Println("operación completada")
case <-ctx.Done():
fmt.Println("tiempo de espera agotado o cancelación del contexto:", ctx.Err())
}
En este ejemplo, si la operación tarda más de 2 segundos, el contexto se cancela y se puede manejar el tiempo de espera. Esto es útil para limitar el tiempo de ejecución de funciones, solicitudes, etc.