Jay*_*Jay 3 javascript jquery events multithreading asynchronous
我正在使用图形可视化库$(document).ready(),它似乎阻止了 UI。我期望$(document).ready()在单独的线程中执行。
有谁知道详细情况吗?也许我应该使用setTimeout异步运行代码?
编辑:
术语“异步”和“单独线程”在 JavaScript 中具有误导性。我不是 JavaScript 专家,也找不到更准确的术语。请参阅答案以进行澄清。
除了 Web Workers(无法直接访问 DOM)之外,JavaScript 在单线程中运行。 $(document).ready()异步是指您传递给它的回调可能会立即触发,或者在加载 DOM 后的某个时间触发,但当其回调实际运行时,它是 JS 运行时正在处理的唯一事情。
例如,长时间运行的for循环将阻塞 UI 线程,无论它是否处于就绪回调、事件处理程序、异步 XHR 的成功回调等中。防止它阻塞线程的唯一方法是中断通过使用 调度后面的块将其分成几个循环setTimeout。
| 归档时间: |
|
| 查看次数: |
1036 次 |
| 最近记录: |