Junior — Middle
Jak określić, czy wykonanie bieżącego kontekstu zostało przerwane lub anulowane?
sobes.tech AI
Odpowiedź od AI
W Go, aby określić, czy wykonanie bieżącego kontekstu zostało przerwane lub anulowane, używa się metody Done() obiektu context.Context. Ta metoda zwraca kanał, który jest zamykany, gdy kontekst zostanie anulowany. Sprawdzenie zwykle wygląda tak:
select {
case <-ctx.Done():
// Kontekst został anulowany lub upłynął czas
err := ctx.Err() // context.Canceled lub context.DeadlineExceeded
// Obsługa anulowania
default:
// Kontynuuj pracę
}
Jeśli kanał ctx.Done() jest zamknięty, oznacza to, że należy przerwać wykonywanie.