Назад к вопросам
Junior — Middle
79
Использовал ли ты метод Context.WithTimeout для ограничения времени выполнения операций?
Ответ от нейросети
sobes.tech AI
Да, метод context.WithTimeout в Go часто используется для ограничения времени выполнения операций, особенно при работе с сетевыми запросами, базами данных или другими длительными процессами.
Он создает новый контекст, который автоматически отменяется по истечении заданного времени, что позволяет избежать зависаний и контролировать таймауты.
Пример использования:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
err := doSomething(ctx)
if err != nil {
if errors.Is(err, context.DeadlineExceeded) {
fmt.Println("Операция превысила время ожидания")
} else {
fmt.Println("Ошибка выполнения:", err)
}
}
В этом примере функция doSomething должна поддерживать контекст и прерывать работу, если время вышло.