2024 Clojure 调查问卷!中分享您的想法。

欢迎!有关如何使用本站的信息,请参阅关于页面。

0
core.async

如果“finally”块中存在“if”,并且外部“try”位于CLJS的“go”块中,那么“try”的结果始终是nil。

示例代码

(ns demo
(:require-macros
(link: cljs.core.async.macros :refer [go]))

;; 输出: "in a try"
(println (try "in a try" (finally (if true nil))))

;; 输出: "in a try"
(go (println (try "in a try" (finally nil))))

;; 输出: nil
(go (println (try "in a try" (finally (if true nil )))))

3 个回答

0

由hubert发表的评论

同样失败于
org.clojure/clojure "1.8.0"
org.clojure/clojurescript "1.9.671"
org.clojure/core.async "0.3.443"

0

由hiredman发表的评论

这可能是由于go块中try/catch处理中的错误导致的,应该通过https://dev.clojure.org/jira/browse/ASYNC-184 进行修复

0
参考: https://clojure.atlassian.net/browse/ASYNC-199 (由alex+import报告)
...