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

欢迎!请查看 关于 页面以了解更多关于此功能的信息。

0
ClojureScript

在初始化的 ClojureScript 中,cljs.js/eval-fn 接收 JavaScript 源代码并执行它,返回一个结果。在某些情况下,需要异步地执行 js,我们能否添加此功能?

4 答案

0

由:dnolen

此票据需要更多理由。您能详细说明用例吗?

0

由:whamtet

我的用例是一个异步评估函数

`
(fn eval-fn
[{:keys [source]}]
(js/chrome.devtools.inspectedWindow.eval source

(fn [result err]
  (if result
    (callback result)
    (callback err))))

`

似乎其他人也有类似的情况。

0

由:dnolen

有趣。我认为这不是一个常见的用例,大多数 JavaScript 引擎都提供了同步的 eval。我不感兴趣任何破坏性变更,但我很高兴提供一个补丁,通过选项标志 {{:async-eval}} 给您您所希望的行为。

0
参考:https://clojure.atlassian.net/browse/CLJS-1421(由 alex+import 提出)
...