由 mikethompson 发表的评论
@Ghadi
为了明确...你在双引号中把这个问题称为“bug”。好像这并不是真正的bug。
但对我来说,这是一个足够真实的“bug”,我不得不选择与分支版本一起使用或者完全放弃使用core.async。
我需要的(<! (timeout 0))要表示0,或者尽可能接近0。我需要它如广告中所说那样工作。当前实现无法达到0(或尽可能接近0),而是提供与 (<! (timeout 4)) 和 4毫秒相比的相同结果,而4毫秒与0毫秒(或接近0毫秒)相比是永恒的。以每次4毫秒的频率,goloop每秒只能迭代250次。
任何使用goloop监听突发型websocket输出的人都会遇到这个问题。他们需要疯狂处理(没有4毫秒的延迟),但同时也要将控制权交回浏览器,以便偶尔执行它需要的操作。当浏览器页面失去“焦点”,进入后台,JavaScript被节流,动画帧减慢等时,所有这些问题都会加剧。