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

`

这里是输出

`

:bound

对象[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

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

`

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

0

由: bronsa

我已经为您编辑了描述

0
参考: https://clojure.atlassian.net/browse/ASYNC-203 (由 alex+import 报告)
...