请问老师eventloop
来源:16-5 回顾浏览器event loop过程
hy_wang
2021-01-22
请问一下老师,我在之前结合掘金小册一些文章,看到他们讲的是当一次执行完所有同步代码和所有微任务后才会渲染页面,而老师这里说执行完同步任务触发eventloop之前就会执行渲染,这是不是有冲突。请问老师渲染之前应该清空微任务吧
写回答
2回答
-
不冲突,这是一个循环。渲染页面,你说在执行完微任务之后也可以,你说在下次 eventloop 开始之前也可以。它是一个循环的过程。
就类似于,你说 9 点在 8 点之后也可以,说 9 点在 10 点之前也可以。
022021-01-22 -
hy_wang
提问者
2021-01-22
setTimeout(() => { const promise = Promise.resolve(1) console.log('123') promise.then(res => { debugger document.getElementById('app').innerHTML = res debugger }) }, 1000)
老师我验证了一下,两次debugger看出了时机~看来是微任务在页面渲染之前。谢谢老师~
012021-01-22
相似问题