美文网首页
25,浏览器和Node事件循环的区别

25,浏览器和Node事件循环的区别

作者: r8HZGEmq | 来源:发表于2019-11-22 15:18 被阅读0次

如此交替下去:
执行一只task(宏任务)、执行完micro-task队列 (微任务)

function test () {
   console.log('start')
    setTimeout(() => {
        console.log('children2')
        Promise.resolve().then(() => {console.log('children2-1')})
    }, 0)
    setTimeout(() => {
        console.log('children3')
        Promise.resolve().then(() => {console.log('children3-1')})
    }, 0)
    Promise.resolve().then(() => {console.log('children1')})
    console.log('end') 
}

test()

以上代码在node11以下版本的执行结果(先执行所有的宏任务,再执行微任务)
// start
// end
// children1
// children2
// children3
// children2-1
// children3-1

以上代码在node11及浏览器的执行结果(顺序执行宏任务和微任务)
// start
// end
// children1
// children2
// children2-1
// children3
// children3-1

相关文章

网友评论

      本文标题:25,浏览器和Node事件循环的区别

      本文链接:https://www.haomeiwen.com/subject/mycqwctx.html