打印的前后顺序

面试题经常会有

<script>console.log(1)setTimeout(function(){console.log(2)})console.log(3)let p=new Promise((resolve,reject) =>{console.log(4)resloved('hhhhhh')})p.then(res =>{console.log(res)console.log(5)},res =>{console.log(7)})console.log(6)</script>

宏任务:script(整体代码),setTimeout,UI渲染,VO,postMessage,MessageChannel,setlmmedate(node环境)

微任务:Promise, MultationObserver, proxess.nextTick(node环境)

执行顺序

1
3
 4
 6
 hhhhhh
 5
2

注意:  Promise ,一旦创建立即执行,打印7是迷惑项不会执行