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