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

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

如果我在嵌套函数调用中使用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 / await的链接?

javascript async-await ecmascript-2017
1个回答
2
投票

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

在某些时候,应该有:

a().catch(...)

或者async IIFE:

(async () => {
  try {
    await a();
  } catch (e) { ... }
})();
© www.soinside.com 2019 - 2024. All rights reserved.