我这儿为啥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

我这里试着是可以的,不知道你那边啥浏览器环境。

//img.mukewang.com/szimg/5eeeb47609b9c4b528542108.jpg

0
1
小大木
我也是,我是直接在script标签里写的,估计他也一样,改成引入js,就正常了,这是为啥
2021-10-09
共1条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程