请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

我这儿为啥setTimeout也在渲染前了?

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延迟设长一点才会出现老师那样的效果。

正在回答 回答被采纳积分+3

1回答

双越 2020-06-21 09:14:32

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

https://img1.sycdn.imooc.com//szimg/5eeeb47609b9c4b528542108.jpg

0 回复 有任何疑惑可以回复我~
  • 我也是,我是直接在script标签里写的,估计他也一样,改成引入js,就正常了,这是为啥
    回复 有任何疑惑可以回复我~ 2021-10-09 15:12:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信