其他分享
首页 > 其他分享> > Promise、Js异步之宏队列与微队列

Promise、Js异步之宏队列与微队列

作者:互联网

回调原则:

1. 宏列队: 用来保存待执行的宏任务(回调), 比如: 定时器回调/DOM事件回调/ajax回调
2. 微列队: 用来保存待执行的微任务(回调), 比如: promise的回调/MutationObserver的回调
3. JS执行时会区别这2个队列
	JS引擎首先必须先执行所有的初始化同步任务代码
	**每次准备取出第一个宏任务执行前, 都要将所有的微任务一个一个取出来执行**
原则:每次准备取出第一个宏任务执行前, 都要将所有的微任务一个一个取出来执行
setTimeout(() => { // 会立即放入宏列队
      console.log('timeout callback1()')
      Promise.resolve(3).then(
        value => { // 会立即放入微列队
          console.log('Promise onResolved3()', value)
        }
      )
    }, 0)
    setTimeout(() => { // 会立即放入宏列队
      console.log('timeout callback2()')
    }, 0)
    Promise.resolve(1).then(
      value => { // 会立即放入微列队
        console.log('Promise onResolved1()', value)
      }
    ) 
    Promise.resolve(2).then(
      value => { // 会立即放入微列队
        console.log('Promise onResolved2()', value)
      }
    ) 

测试结果:
在这里插入图片描述

标签:console,log,队列,之宏,value,Promise,列队,回调
来源: https://blog.csdn.net/czj1049561601/article/details/113811972