Junior — Middle
Kuidas määrata kindlaks, kas jooksva konteksti täitmine on katkestatud või tühistatud?
sobes.tech AI
Vastus AI-lt
Go keeles, et määrata, kas toimub, kui praeguse konteksti täitmine on katkestatud või tühistatud, kasutatakse context.Context objekti Done() meetodit. See meetod tagastab kanali, mis suletakse, kui kontekst tühistatakse. Kontroll tehakse tavaliselt nii:
select {
case <-ctx.Done():
// Kontekst on tühistatud või aeg on möödunud
err := ctx.Err() // context.Canceled või context.DeadlineExceeded
// Tühistamise töötlemine
default:
// Jätkame tööd
}
Kui ctx.Done() kanal on suletud, tähendab see, et täitmine tuleb katkestada.