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

欢迎!请参阅关于页面以获取更多关于其工作原理的信息。

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)))

`

Here is the output

`

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