в горутине, и которая управляет значениями с нескольких каналов (через select).
При считывании данных из каналов, выполняется только операция, никаких значений в другие каналы не записываю и ничего не возвращаю.
Одновременно с этим, после записи значения в канал, этот поток блокируется (например, если говорим про роут из mux.router - не возвращает запрос)
В тестах тоже встречается такая проблема
Решил ее (решил ли?) тем, что создал дополнительный канал для ответов, записываю в него результаты операции, и читаю из этого канала, когда необходимо "разблокировать" поток
Подскажите пожалуйста, является ли это хорошей практикой? Есть ли другие способы оповещения о завершении операции в select-конструкции?
Заранее благодарю!
что-то непонятно совсем
Обсуждают сегодня