我看过这个问题,但它不起作用。
(require '[clojure.core.async :as a])
(def ch2 (a/chan))
(defn my-take [] (a/take! ch2 (fn [v] (println v) (my-take))))
(a/put! ch2 "value" (fn (if [success?] (println "success"))))
lein repl
上的此代码按预期工作。但在*cider repl*
上,它不打印println
语句。
而且我在*nrepl-server*
缓冲区上也没有看到任何输出。
您没有指定CIDER版本,但在即将发布的0.10中,我们添加了一些功能,可以将nREPL服务器输出转发到常规输出所在的位置(默认情况下为REPL缓冲区)。您可以安装快照,看看这是否解决了您的问题。
附言:通常最好在我们的官方gitter和slack频道上问这样的问题。在GitHub中发布门票也是一个好主意。