Junior — Middle
Как да определите дали изпълнението на текущия контекст е било прекъснато или отменено?
sobes.tech AI
Отговор от AI
В Go, за да определите дали изпълнението на текущия контекст е било прекъснато или отменено, използвайте метода Done() на обекта context.Context. Този метод връща канал, който се затваря, когато контекстът бъде отменен. Обикновено проверката изглежда така:
select {
case <-ctx.Done():
// Контекстът е отменен или изтече таймаутът
err := ctx.Err() // context.Canceled или context.DeadlineExceeded
// Обработка на отменянето
default:
// Продължаваме работата
}
Ако каналът ctx.Done() е затворен, това означава, че трябва да прекъснете изпълнението.