nodejs中怎么循环浏览器事件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
第一章:事件循环介绍:
浏览器中的事件循环:
为了协调事件(event),用户交互(user interaction),脚本(script),渲染(rendering),网络(networking)等,用户代理(user agent)必须使用 事件循环(event loops).
事件:PostMessage(多个页面通信),MutationObserver(dom监听)等
用户交互:click,onScroll等
渲染:解析dom,css等
脚本:执行脚本
nodejs中的事件循环
事件循环的本质
setTimeout(()=>{
console.log('setTimeout')
},0)
Promise.resolve().then(() =>{
console.log('promise')
})
console.log('main')
// main promise setTimeout
第二章:浏览器事件循环
高频面试题
setTimeout(() => {
console.log('setTimeout')
setTimeout(() => {
console.log('setTimeout2')
},0)
},0)
Promise.resolve().then(() =>{
console.log('Promise')
Promise.resolve().then(() =>{
console.log('Promise2')
})
})
console.log('main')
// main promise promise2 setTimeout
setTimeout(() => { // 两个setTimeout谁先进的话 谁就先出
console.log('setTimeout')
Promise.resolve().then(() =>{
console.log('promise')
})
},0)
Promise.resolve().then(() =>{
console.log('promise2')
setTimeout(() => {
console.log('setTimeout2')
},0)
})
console.log('main')
// main promise2 setTimeout promise setTimeout2
new Promise((res, rej) =>{
console.log(1)
res()
}).then(() =>{
console.log(2)
new Promise((res,rej) =>{
console.log(3)
res()
}).then(() =>{
console.log(4)
}).then(() =>{
console.log(5)
}).then(() =>{
console.log(6)
})
}).then(() =>{
console.log(7)
})
.then(() =>{
console.log(8)
})
// 1 2 3 4 7 5 8 6
看完上述内容,你们掌握nodejs中怎么循环浏览器事件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注天达云行业资讯频道,感谢各位的阅读!