Junior — Middle
Avez-vous utilisé la méthode Context.WithTimeout pour limiter le temps d'exécution des opérations?
sobes.tech IA
Réponse de l'IA
Oui, la méthode context.WithTimeout en Go est souvent utilisée pour limiter le temps d'exécution des opérations, en particulier lors de la gestion de requêtes réseau, de bases de données ou d'autres processus longs.
Elle crée un nouveau contexte qui est automatiquement annulé après le délai spécifié, ce qui permet d'éviter les blocages et de contrôler les délais d'attente.
Exemple d'utilisation :
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
err := doSomething(ctx)
if err != nil {
if errors.Is(err, context.DeadlineExceeded) {
fmt.Println("L'opération a dépassé le délai")
} else {
fmt.Println("Erreur d'exécution:", err)
}
}
Dans cet exemple, la fonction doSomething doit supporter le contexte et interrompre son travail si le temps est écoulé.