高级前端js【Q515】关于事件循环,一道异步代码执行输出顺序问题

关于事件循环,一道异步代码执行输出顺序问题

更多描述

setTimeout(() => {
  console.log("A");
  Promise.resolve().then(() => {
    console.log("B");
  });
}, 1000);
 
Promise.resolve().then(() => {
  console.log("C");
});
 
new Promise((resolve) => {
  console.log("D");
  resolve("");
}).then(() => {
  console.log("E");
});
 
async function sum(a, b) {
  console.log("F");
}
 
async function asyncSum(a, b) {
  await Promise.resolve();
  console.log("G");
  return Promise.resolve(a + b);
}
 
sum(3, 4);
asyncSum(3, 4);
console.log("H");

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 528

Author 回答者: shfshanyue

D F H C E G A B