Sobes.tech
Назад к вопросам
Junior — Middle
74

Каким образом определить, что выполнение текущего контекста было прервано или отменено?

Ответ от нейросети

sobes.tech AI

В Go для определения, что выполнение текущего контекста было прервано или отменено, используется метод Done() у объекта context.Context. Этот метод возвращает канал, который закрывается при отмене контекста. Обычно проверку делают так:

select {
case <-ctx.Done():
    // Контекст отменён или истёк таймаут
    err := ctx.Err() // context.Canceled или context.DeadlineExceeded
    // Обработка отмены
default:
    // Продолжаем работу
}

Таким образом, если канал ctx.Done() закрыт, значит выполнение нужно прервать.