异步箭头函数的语法

我可以用关键字将JavaScript函数标记为“async”(即返回承诺)。喜欢这个:async

async function foo() {
  // Do something
}

箭头函数的等效语法是什么?


答案 1

异步箭头函数如下所示:

const foo = async () => {
  // do something
}

异步箭头函数对于传递给它的单个参数如下所示:

const foo = async evt => {
  // do something with evt
}

对于传递给它的多个参数,异步箭头函数如下所示:

const foo = async (evt, callback) => {
  // do something with evt
  // return response with callback
}

匿名表单也有效:

const foo = async function() {
  // do something
}

异步函数声明如下所示:

async function foo() {
  // do something
}

回调中使用异步函数:

const foo = event.onCall(async () => {
  // do something
})

中使用异步方法

async foo() {
  // do something
}

答案 2

这是将箭头函数表达式分配给命名变量的最简单方法:async

const foo = async () => {
  // do something
}

(请注意,这并不严格等同于异步函数 foo() { }。除了函数关键字和箭头表达式之间的差异之外,此答案中的函数不是“吊到顶部”。