有没有一种简单的方法来限制对core.async通道的写入频率?到目前为止,我发现了两个例子。一个使用滑动缓冲区和一些SetTimeout魔法来处理这个问题,另一个使用外部原子作为计数器。我本以为core.async可以直接提供这种功能。由于其中一个例子相当老(10个月),所以我想知道是否有更简单的解决方案?
我正在寻找适用于Clojure和ClojureScript的解决方案。
我正在寻找适用于Clojure和ClojureScript的解决方案。
(def in (chan 1))
(def slow-chan (throttle-chan in 1 :millisecond)) ; 1 msg/ms
(>!! in :token) ; => true
(<!! slow-chan) ; :token