【JavaScript】Promise与微任务

2021/09/08 18:19:58

Promise V8 源码分析(一)open in new window

从一道让我失眠的 Promise 面试题开始,深入分析 Promise 实现细节open in new window

【V8 源码补充篇】从一道让我失眠的 Promise 面试题开始,深入分析 Promise 实现细节open in new window

深度揭秘 Promise 微任务注册和执行过程open in new window

Promise.resolve()
  .then(() => {
    console.log(0);
    return Promise.resolve(4);
  })
  .then((res) => {
    console.log(res);
  });
Promise.resolve()
  .then(() => {
    console.log(1);
  })
  .then(() => {
    console.log(2);
  })
  .then(() => {
    console.log(3);
  })
  .then(() => {
    console.log(5);
  })
  .then(() => {
    console.log(6);
  });

上述代码的打印结果为:0123456

如果把第一个 Promise.resolve() 中的 return Promise.resolve(4) 改为 return 4,则打印啥结果为:0142356