我刚注意到`pipeline`系列返回了一个看似与管道及其相关通道完全独立的`channel`。
在下面的示例中,您可以分别从`pipes`和`a>/b>`中获取`>! / <!`,它们是不相关的。
据我所知,`pipeline`应该是一个无操作函数,并在设置从`a>`到`b>`的副作用传递时返回`nil`。
那么,我错过了什么,为什么`pipeline`会返回一个`channel`?
在下面的示例中,您可以分别从`pipes`和`a>/b>`中获取`>! / <!`,它们是不相关的。
据我所知,`pipeline`应该是一个无操作函数,并在设置从`a>`到`b>`的副作用传递时返回`nil`。
那么,我错过了什么,为什么`pipeline`会返回一个`channel`?
(def a> (chan))
(def b> (chan))
(def pipes (pipeline-blocking 4
b>
(map clojure.string/upper-case)
a>))
(go (>! pipes "hello world"))
(go (println "Pipes: " (<! pipes)))
(go (>! a> "apples are gooood"))
(go (println "B: " (<! b>)))