欢迎!请参阅关于页面,了解更多关于如何使用本站的信息。
在clojurescript中,我的数据读取器从tagged literal返回一个记录
(ns x.x) (defrecord X [y]) (defn make-x [y] (->X y))
data_readers.cljc
{x x.x/make-x}
这在内部的go块中没有正确工作
(println "outside of go:" #x"a") (go (println "inside of go:" (<! (go #x"b"))))
结果如下
outside of go: #x.x.X{:y a} inside of go: {:y b}
@hiredman在clojurians slack中指出该问题
发生的事情如下 https://github.com/clojure/core.async/blob/master/src/main/clojure/cljs/core/async/impl/ioc_macros.clj#L403
map?返回true,因此它将您的记录编译为映射
记录于https://clojure.atlassian.net/browse/ASYNC-241