Junior — Middle
Hoe te bepalen of de uitvoering van de huidige context is onderbroken of geannuleerd?
sobes.tech AI
Antwoord van AI
In Go wordt de methode Done() van het object context.Context gebruikt om te bepalen of de uitvoering van de huidige context is onderbroken of geannuleerd. Deze methode retourneert een kanaal dat wordt gesloten wanneer de context wordt geannuleerd. De controle wordt meestal als volgt gedaan:
select {
case <-ctx.Done():
// De context is geannuleerd of de timeout is verlopen
err := ctx.Err() // context.Canceled of context.DeadlineExceeded
// Afhandeling van annulering
default:
// Doorgaan met werken
}
Dus, als het kanaal ctx.Done() gesloten is, betekent dit dat de uitvoering moet worden gestopt.