2015-11-03 56 views
0

我有一個頻道,我在其中添加了一些個人值(JSON行,順便說一下)。自言自語clojure:將多個項目從頻道中刪除

在從頻道中取數值時,我希望將它們批量處理爲一個組。是否有來自頻道的take n的概念,或者是否有將它們捆綁到矢量/序列/列表中的方法?

+0

你知道你有多少值嗎?如果沒有足夠的價值觀投放到頻道上,您預期會發生什麼? – schaueho

+0

阻塞可能會是一個可以接受的反應,但在這一點上我並沒有過分地受到嘲弄。 – David

回答

3

您可以使用clojure.core.async/take從通道中獲取特定數量的項目。它們以新頻道的形式返回,因此您仍然需要使用<!,<!!take!來分別處理它們。如果你想將它們作爲一個組來處理,你可以使用clojure.core.async/into將它們放到一個標準的Clojure數據結構中。