gpt4 book ai didi

clojure - ClojureScript 上的 core.async 超时

转载 作者:行者123 更新时间:2023-12-01 09:21:11 26 4
gpt4 key购买 nike

我有一个从 ClojureScript 端口读取 vals 的循环。在预定义的超时(例如 5 秒)后,我需要 退出循环,如果没有出现超过另一个预定义超时(例如 200 毫秒)的值,我还需要 退出循环

我的意思是激发循环,结束它并运行其他东西,例如另一个函数。

这可能吗?

最佳答案

使用 alts!

;; within your go-loop:

(let [[val ch] (alts! [my-ch (timeout 500)])]
(when (identical? my-ch ch)
;; dispatch val here...
(recur))
;; not calling recur here, to exit the loop
)

关于clojure - ClojureScript 上的 core.async 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32673108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com