由 mikethompson 发表的评论
@Ghadi
为了明确起见……你用引号提到了这“错误”。几乎像它不是错误一样。
但对我来说,这确实是一个足够真实的“bug”,我必须与分支一起工作,或者完全放弃使用 core.async。
我需要(<! (timeout 0))表示0,或者尽可能接近0。我需要它按宣传的那样工作。当前的实现没有达到0(或尽可能接近0),而是提供了(<! (timeout 4))同样的结果,4毫秒与0毫秒(或尽可能接近0)相比简直是永恒。在每次4毫秒的情况下,goloop每秒只能迭代250次。
任何有goloop监听爆发式websocket输出的用户都会遇到这个问题。他们需要疯狂处理(没有4毫秒延迟),但同时也需要交回控制权,以便浏览器可以进行它需要做的事情,偶尔一次。当浏览器页面失去“焦点”,进入背景,javascript被节流、动画帧变慢等等时,所有这些问题都会加剧。