由 mikethompson 发布的评论
@Ghadi
为了清晰起见...你将其称为“bug”,并用引号括起来。几乎就好像它不是bug。
但对我来说,这是一个足够真实的“bug”,我必须要么与分支(fork)一起工作,要么完全放弃使用core.async。
我需要 (<! (timeout 0)) 表示0,或者尽可能接近0。我需要它按照广告工作。当前的实现并没有实现0(或尽可能接近0),而是提供了(<! (timeout 4))的相同结果,4ms与0ms(或尽可能接近0)相比是漫长的。每次循环4ms,goloop只能每秒迭代250次。
任何有一个在监听动态webSocket输出的goloop的人都会遇到这个问题。他们需要疯狂地处理(没有4ms延迟),但是还需要将控制权交回浏览器,这样浏览器就可以不时地做它需要做的事情。所有这些都因为浏览器页面失去“关注”,进入后台,js节流,动画帧变慢等问题而加剧。