请在 Clojure 2024 年度调查 中分享您的想法!

欢迎!请查看 关于 页面了解如何使用本平台。

0
core.async

绑定块内的泊车会移除动态绑定变量的当前值。

示例

`
(require '[clojure.core.async :as async :refer [go <!]])</p>

(def ^:dynamic d)

(go
(binding [d :bound]

(println d)
(<! (async/timeout 10))
(println d)))

`

这里将是输出

`

:bound

object[clojure.lang.Var$Unbound 0x15f8a952 Unbound: #'user/d]

`

3 个答案

0

评论者:monorok

我发现了一个简单的方法来重现问题

`
(require '[clojure.core.async :as async :refer [go <!]])</p>

(def ^:dynamic d)

(go
(binding [d :bound]

(println d)
(<! (async/timeout 10))
(println d)))

`

输出

`
:bound

object[clojure.lang.Var$Unbound 0x15f8a952 Unbound: #'user/d]

`

遗憾的是,我不知道如何编辑问题的描述。

0

评论者:bronsa

我已经为您编辑了描述

0
参考资料:https://clojure.atlassian.net/browse/ASYNC-203(由 alex+import 提出)
...