习语clojure:从一个频道中删除多个项目



我有一个通道,在其中放入许多单独的值(顺便说一下JSON行)。

在删除通道中的值时,我希望将它们作为一个组进行批处理。信道中是否有take n的概念,或者是否有将它们捆绑到向量/序列/列表中的方法?

您可以使用clojure.core.async/take从频道中删除特定数量的项目。它们以新通道的形式返回,因此您仍然需要使用<!<!!take!来单独处理它们。如果您想将它们作为一个组进行处理,可以使用clojure.core.async/into将它们放入标准的Clojure数据结构中。

最新更新