我这儿为啥setTimeout也在渲染前了?
来源:8-15 为什么微任务比宏任务执行更早

功不唐捐终入海
2020-06-20
for(let i = 0; i < 3; i++){
const li=document.createElement(‘span’);
li.innerHTML=i;
document.body.appendChild(li);
}
// console.log(document.body.children.length);
// alert(‘还未开始渲染!’)//alert 可以打断js和Dom渲染。
Promise.resolve().then(()=>{
console.log(document.body.children.length);
alert(‘还未开始渲染!’);
});
setTimeout(()=>{
console.log('已经渲染完成!')
alert('setTimeout')
})
只有给setTimeout延迟设长一点才会出现老师那样的效果。
写回答
1回答
-
双越
2020-06-21
我这里试着是可以的,不知道你那边啥浏览器环境。
012021-10-09
相似问题