promise深度理解

121 阅读1分钟

必须了解的姿势点:

event loop它的执行顺序:

  1. 一开始整个脚本作为一个宏任务执行
  2. 执行过程中同步代码直接执行,宏任务进入宏任务队列,微任务进入微任务队列
  3. 当前宏任务执行完出队,检查微任务列表,有则依次执行,直到全部执行完
  4. 执行浏览器UI线程的渲染工作
  5. 检查是否有Web Worker任务,有则执行
  6. 执行完本轮的宏任务,回到2,依此循环,直到宏任务和微任务队列都为空

1.1例子:

    const promise1 = new Promise((resolve,reject) => {
        console.log('哈哈哈哈');
    })
    console.log('1',promise1);

输出结果: '哈哈哈哈' '1' Promise{}