Junior — Middle
Kako odrediti da li je izvršenje trenutnog konteksta prekinuto ili otkazano?
sobes.tech АИ
Одговор од АИ
U Go-u, za utvrđivanje da li je izvršenje trenutnog konteksta prekinuto ili otkazano, koristi se metoda Done() objekta context.Context. Ova metoda vraća kanal koji se zatvara kada se kontekst otkaže. Provera se obično vrši ovako:
select {
case <-ctx.Done():
// Kontekst je otkazan ili je istekao rok
err := ctx.Err() // context.Canceled ili context.DeadlineExceeded
// Obrada otkazivanja
default:
// Nastaviti sa radom
}
Ako je kanal ctx.Done() zatvoren, to znači da je potrebno prekinuti izvršenje.