【发布时间】:2015-04-26 18:15:27
【问题描述】:
我有一个频道作为发布者:
(def publisher (async/chan))
(def publication (async/pub publisher :topic))
由于sub/pub的性质,当我这样做时:
(async/put! publisher {:topic :foo})
消息被发布消费,由于没有订阅者,它会被丢弃。
如果我尝试订阅:foo 主题:
(def reader (async/chan))
(async/sub publication :foo reader)
(async/go (println "got val " (async/<! reader)))
我不会看到任何打印的内容。但是,如果我在发布者中放置更多项目:
(async/put! c1 {:topic :foo :msg "after"})
==> got val {:topic :foo :msg "after"}
有没有办法不丢失发布者生成的最后一个n 项目即使订阅者尚未订阅?
【问题讨论】:
标签: clojure channels core.async