其他分享
首页 > 其他分享> > js 微观任务、宏观任务、循环机制

js 微观任务、宏观任务、循环机制

作者:互联网

1. javascript 是单线程的

同步和异步: 立即执行的任务队列就是同步任务,异步任务有函数,定时器,http请求,promise等等。

事件循环:同步任务进入主线程,立即执行,执行之后异步任务进入主线程,这样循环

宏观和微观任务:

先执行微观任务( Micro Task),再执行宏观任务(Macro Task )

Micro Task:promise、process.nextTick(Node.js 环境)

Macro Task:setTimeout、setTimeInterval、script整体、UI交互、I/O、setImmediate(Node.js 环境) 

 <script type="text/javascript">
    console.log('开始')
    new Promise(resolve => {
        setTimeout(() => {
            console.log('t1')
        })
        console.log('p1')
        resolve()
    }).then(() => {
        console.log('p2')
    })
    setTimeout(() => {
        console.log('t2')
    })
    console.log('结束')
  </script>

结果:

 

标签:Task,console,log,微观,js,任务,setTimeout
来源: https://www.cnblogs.com/yseraaa/p/14360612.html