【问题标题】:How to collect data from a bulk of core.async go channels?如何从大量 core.async go 通道中收集数据?
【发布时间】:2019-06-27 16:47:56
【问题描述】:

如何从大量go 频道收集数据?下面的代码我得到assert failed: <! used not in (go ...)。我知道我为什么得到它,我在问从所有渠道消费的最佳方式是什么。

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

【问题讨论】:

    标签: clojure


    【解决方案1】:

    使用https://clojuredocs.org/clojure.core.async/merge 将您的源通道合并为一个,然后使用&lt;!! 从中获取val。请注意,&lt;! 只能在 go 块内使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-04
      • 2014-03-11
      • 1970-01-01
      • 2019-09-13
      • 2015-12-10
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      相关资源
      最近更新 更多