评论者为:mikethompson
@Ghadi
为了明确起见...你把这个叫做“bug”(带引号)。几乎像是它根本就不是bug。
但对我来说,这确实是一个足够真实的“bug”,我必须要么使用分支,要么完全放弃使用core.async。
我需要(<! (timeout 0))表示0,或者尽可能接近0。我需要它按照预期工作。当前的实现没有实现0(或尽可能接近0),而是提供了(<! (timeout 4))相同的,4毫秒对于0毫秒(或接近0)来说太长了。每次迭代4毫秒,goloop只能每秒迭代250次。
任何有一个goloop监听爆发式websocket输出的人都会遇到这个问题。他们需要疯狂处理(没有4毫秒延迟),但同时也要交还控制权,以便浏览器可以做它需要做的事情,时不时地。当浏览器页面失去“焦点”,进入后台,并且js阻止,动画帧变慢等时,所有这些问题都会恶化。