如何使 UI 线程连续运行
How would I make the UI thread run continuously
据我所知,因为JavaScript是单线程的,所以像这样的操作
setTimeout(0, function() { alert("Hello"); });
不会阻塞 UI 线程,会等到 UI 线程中断,以便它可以"跳入"并运行。这是古老的JavaScript谚语
"当无事可做时,检查[回调]队列。但只有 无事可做时检查队列。
我想说的是,有人可以给我看一个例子,其中浏览器总是有事情要做,因此回调队列中的异步方法永远不会执行?还是我对事件循环的理解完全扭曲了?
正如您所指出的,回调是在浏览器无事可做时完成的。如果从未运行回调,用户将认为浏览器无响应。这是一种可能的情况,尽管不太可能被认为是正常的。
在假设超时回调将发生的情况下实现代码是完全可以的。 你想要做的是创建一个能够容忍以某些时间方差发生的回调的实现。差异将与处理其他回调和事件所花费的最长时间有关。
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 如何连续运行计时器?(当你刷新时,不要从头开始)
- Javascript:监视队列/连续运行函数
- setTimeout 连续运行其函数
- 使用节点 JS 运行连续后台作业
- 在开发过程中自动连续运行 Jasmine 测试
- 在jQuery UI中,如何防止连续调用时运行数百万次的“脉动”效应
- 如何在追加数据并完成该数据的函数后连续运行函数
- 如何使 UI 线程连续运行
- 递归 setInterval() 连续运行
- JavaScript使用带有画布的setInterval连续运行函数
- 在没有cron作业的情况下连续运行php函数
- 连续运行功能,需要计数动作
- 两个连续的动画将不会在jQuery中运行
- 连续运行jQuery动画
- 使 Angular 控制器通过页面刷新连续运行
- setInterval 函数不在定时间隔上运行,只是连续重复,没有时间