Sobes.tech
Junior — Middle

Comment déterminer si l'exécution du contexte actuel a été interrompue ou annulée?

sobes.tech IA

Réponse de l'IA

En Go, pour déterminer si l'exécution du contexte actuel a été interrompue ou annulée, on utilise la méthode Done() de l'objet context.Context. Cette méthode retourne un canal qui se ferme lorsque le contexte est annulé. La vérification se fait généralement ainsi :

select {
case <-ctx.Done():
    // Le contexte a été annulé ou le délai d'expiration est écoulé
    err := ctx.Err() // context.Canceled ou context.DeadlineExceeded
    // Traitement de l'annulation
default:
    // Continuer le travail
}

Ainsi, si le canal ctx.Done() est fermé, cela signifie que l'exécution doit être interrompue.