我是clojure core.async库的新手,我试图通过实验来理解它.
但当我尝试时:
(let [i (async/chan)] (async/go (doall (for [r [1 2 3]] (async/>! i r)))))
Run Code Online (Sandbox Code Playgroud)
它给了我一个非常奇怪的例外:
CompilerException java.lang.IllegalArgumentException: No method in multimethod '-item-to-ssa' for dispatch value: :fn
Run Code Online (Sandbox Code Playgroud)
我尝试了另一个代码:
(let [i (async/chan)] (async/go (doseq [r [1 2 3]] (async/>! i r))))
Run Code Online (Sandbox Code Playgroud)
它根本没有编译器异常.
我完全糊涂了.发生了什么事?