Junior — Middle
Kā noteikt, vai pašreizējā konteksta izpilde tika pārtraukta vai atcelta?
sobes.tech AI
Atbilde no AI
Go valodā, lai noteiktu, vai pašreizējās konteksta izpilde ir pārtraukta vai atcelta, tiek izmantota Done() metode no objekta context.Context. Šī metode atgriež kanālu, kas tiek slēgts, kad konteksts tiek atcelts. Parasti pārbaudi veic šādi:
select {
case <-ctx.Done():
// Konteksts ir atcelts vai ir beidzies laika limits
err := ctx.Err() // context.Canceled vai context.DeadlineExceeded
// Atcelšanas apstrāde
default:
// Turpināt darbu
}
Ja ctx.Done() kanāls ir slēgts, tas nozīmē, ka ir jāaptur izpilde.