gpt4 book ai didi

javascript - $(document).ready() 是在主线程中执行,还是异步?

转载 作者:行者123 更新时间:2023-11-30 07:58:53 25 4
gpt4 key购买 nike

我在 $(document).ready() 中使用图形可视化库,它似乎阻止了 UI。我期待 $(document).ready() 在单独的线程中执行。

有谁知道详情吗?也许我应该使用 setTimeout 异步运行代码?

编辑:

术语“异步”和“独立线程”在 JavaScript 中具有误导性。我不是 JavaScript 专家,我找不到更准确的术语。请参阅答案以进行澄清。

最佳答案

除了 Web Worker(不能直接访问 DOM)之外,JavaScript 在单线程中运行。 $(document).ready() 是异步的,因为您传递给它的回调可能会在加载 DOM 时立即或稍后触发,但当它的回调实际运行时,它是只有 JS 运行时正在处理的事情。

例如,长时间运行的 for 循环将阻塞 UI 线程,无论它是否处于就绪回调、事件处理程序、异步 XHR 的成功回调等中。唯一的方法要防止它阻塞线程,可以通过使用 setTimeout 安排后面的 block 将其分成几个循环。

关于javascript - $(document).ready() 是在主线程中执行,还是异步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33028753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com