打印的前后顺序

面试题经常会有

<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是迷惑项不会执行