Sobes.tech
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.