JavaScript wait、try/catch 和微任务队列

问题描述 投票:0回答:1

如果我没记错的话:

async function foo() {
  await bar();
  baz();
}

对应:

function foo() {
  return new Promise((resolve) => {
    resolve(bar());
  }).then(() => {
    baz();
  });
}

所以 () => baz();进入微任务队列。

但是,如果我们在异步函数内有 try/catch 块,那么微任务队列会发生什么,例如:

async function foo() {
  try {
    await bar();
  } catch () {
    baz();
  }
  qux();
}
javascript promise
1个回答
0
投票

await 之后的代码进入微任务以及 catch 块。

© www.soinside.com 2019 - 2024. All rights reserved.