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报告)
...