2024 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于 页面以了解更多关于如何使用本网站的信息。

0
core.async
要查看错误,请运行以下命令


clojure -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.238"}org.clojure/core.async {:mvn/version "0.4.474"}}}' -m cljs.main -e "(require '[cljs.core.async :refer [chan go]]) (go (js/console.log \"Foo\") (js-debugger) (js/console.log \"Bar\"))"


这将生成一个类似 "SyntaxError: expected expression, got keyword 'debugger'" 的 Js 错误。

编译后的 Js 输出将包含类似于以下内容

{code:javascript}var inst_2199 = debugger;

但 {{debugger}} 是一个语句,不是一个可以赋值的表达式。

3 答案

0

评论由:alexmiller

考虑到 go 块的性质,我认为这不应该正常工作,但我将留给 dnolen。

0

评论由:kingmob

我最初提到了这个问题给 David,他说如果他尝试过,其他人可能也尝试过,并建议我提交工单。

我们应该让 cljs.core.async 以某种方式更了解 Js 限制的关键词吗?(其他信息,我看到了另一个问题,有人使用名为 "new" 的 var,它在正常情况下可以工作,但在 go 中会崩溃:[链接](https://dev.clojure.org/jira/browse/ASYNC-176))

0
...