ES7 - 如何停止(剪切)异步/等待链接



如果我在嵌套函数调用中使用 async/await 函数,我认为该 async/await 函数的调用者应该具有 async/await 前缀。

例如,在这种情况下:

function a() {
  b();
}
function b() {
  c();
}
function c() {
  d();
}
...
function y() {
  z();
}

如果z是异步函数,则这些函数应为:

async function a() {
  await b();
}
async function b() {
  await c();
}
async function c() {
  await d();
}
...
async function y() {
  await z();
}

何时/如何停止异步/等待的链接是合适的?

async函数只是承诺的语法糖。它是一个返回承诺的函数,应该被视为一个承诺。

在某些时候,应该有:

a().catch(...)

async IIFE

(async () => {
  try {
    await a();
  } catch (e) { ... }
})();

最新更新