Как собирать данные с основной части каналов core.async? - PullRequest
0 голосов
/ 27 июня 2019

Как я могу собирать данные с большого количества go каналов?Я получаю assert failed: <! used not in (go ...) за код ниже.Я знаю, почему я получаю это, я спрашиваю, как лучше всего потреблять из всех каналов.

(->> state :pods (map #(go [(pd/id %) 
    (<! (f/pod-metrics fleet %))])) (map <!) (into {}))

1 Ответ

1 голос
/ 28 июня 2019

Используйте https://clojuredocs.org/clojure.core.async/merge, чтобы объединить ваши исходные каналы в один, а затем используйте <!!, чтобы взять val из него. Обратите внимание, что <! может использоваться только внутри блока go.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...