请问老师eventloop

来源:16-5 回顾浏览器event loop过程

hy_wang

2021-01-22

http://img1.sycdn.imooc.com/szimg/600a2a3b0837a4d610000463.jpg
请问一下老师,我在之前结合掘金小册一些文章,看到他们讲的是当一次执行完所有同步代码和所有微任务后才会渲染页面,而老师这里说执行完同步任务触发eventloop之前就会执行渲染,这是不是有冲突。请问老师渲染之前应该清空微任务吧

写回答

2回答

双越

2021-01-22

不冲突,这是一个循环。渲染页面,你说在执行完微任务之后也可以,你说在下次 eventloop 开始之前也可以。它是一个循环的过程。

就类似于,你说 9 点在 8 点之后也可以,说 9 点在 10 点之前也可以。

0
2
双越
回复
hy_wang
是的。
2021-01-22
共2条回复

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看出了时机~看来是微任务在页面渲染之前。谢谢老师~

0
1
双越
是的。
2021-01-22
共1条回复

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程