加载HTML后,浏览器会以同步方式对其进行解析。通常我们会使用DOMContentLoaded
事件等待DOM准备就绪。但是我想知道在下一个虚拟机滴答中DOM是否始终准备就绪?如果我使用setTimeout
或Promise.resolve().then()
等任何异步函数在下一个VM刻度线中运行回调,我可以依赖可用的DOM吗?
指向提取的规格摘录的链接。
一个示例是一个框架或库,它总是异步引导并且不会为DOMContentLoaded
事件添加一个监听器。
答案 0 :(得分:0)
VM滴答无关紧要。回调由event loop调用,处理任务。任务开始时,DOM将处于稳定状态。达到超时时,所有setTimeout
都会执行事件循环处理queue a task。