javascript - 让 UI 优先

标签 javascript

如何在客户端 JavaScript 中创建一个环境,其中与用户界面和 View 相关的任何代码优先于其他代码?

我知道你可以使用 setTimeout([function],0); 将事情推到下一个刻度

我如何构建一个系统来广泛地执行此操作?

最佳答案

Javascript 是单线程的(最新浏览器中的 webworkers 除外),因此您只有两个选择:

  1. 将非 UI 相关工作放入一个或多个 WebWorker 中,以便可以在后台完成。
  2. 以小块的形式完成所有非 UI 相关的工作,其中每个工作 block 都在 enxt setTimeout() 上完成。这允许在非 UI 工作的每次更新之间完成挂起的 UI 交互。这需要大量的编码工作,但如果确实值得付出努力,就可以使其发挥作用。

这是一个示例,我改编自其他一些长期运行的代码:http://jsfiddle.net/jfriend00/JJUgv/

关于javascript - 让 UI 优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11161077/

相关文章:

javascript - JS对象结果的区别

JavaScript:通过 Angular 和距离找出 Y 点

javascript - jquery中如何使用map函数?

javascript - 支持所有浏览器的 SVG 旋转

javascript - JavaScript 中 === 是什么?

Javascript 正则表达式 - 负向向后查找和向前查找

javascript - 需要这个 javascript 的解释

javascript - 如何在Jquery中查找没有类的元素?

javascript - jQuery 在第二次单击后删除类

javascript - 如何检查元素是否隐藏在 jQuery 中?