评论由:alexmiller 提供
在ManyToManyChannel上使用现有异步构造函数实现IDeref和IBlockingDeref的概念实现相对简单
`
(deftype ManyToManyChannel
#_existing_code...
IDeref
(deref [this] (
IBlockingDeref
(deref [this ms timeoutValue]
(alt!!
this ([val _] val)
(timeout ms) timeoutValue)))
`
然而,M2MC定义在clojure.core.async.impl.channels中。
`
(def ^:private
;;然后
IDeref
(deref [this] (@
`
然而,我在如何做等效的alt!!上有点困惑,这是一个围绕do-alt和alts(image: )的宏。