• Задача
  • Решение
  • Обсуждение

ReadWithTimeout: таймаут на чтение

Запрос к S3 завис. Реализуйте readWithTimeout(ch <-chan int, timeout time.Duration) (int, bool): читайте значение, но не дольше timeout; при таймауте — (0, false).

GolangРешение
func readWithTimeout(ch <-chan int, timeout time.Duration) (int, bool) {
	select {
	case v := <-ch:
		return v, true
	case <-time.After(timeout):
		return 0, false
	}
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки