web-dev-qa-db-ja.com

非同期矢印機能の構文

asyncキーワードを使って、JavaScript関数を "async"(つまり、約束を返す)としてマークすることができます。このような:

async function foo() {
  // do something
}

矢印関数の同等の構文は何ですか?

302
BonsaiOak

非同期 矢印機能 このようになります:

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

非同期 矢印関数 渡された単一引数については、次のようになります。

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

anonymous 形式も同様に機能します。

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

非同期関数 宣言 は次のようになります。

async function foo() {
  // do something
}

コールバックで非同期関数を使用する

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

これは、非同期矢印関数 expression という名前の 変数に割り当てる最も簡単な方法です。

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

ただ!

(これは厳密にはasync function foo() { }と同等ではないことに注意してください。 functionキーワードと矢印式の違い に加えて、この答えの関数は "先頭に掲げられていません" です。)

99

すぐに呼び出された非同期矢印機能:

(async () => {
    console.log(await asyncFunction());
})();

直ちに呼び出された非同期関数式

(async function () {
    console.log(await asyncFunction());
})();
15
Michael

次のこともできます。

 YourAsyncFunctionName = async (value) => {

    /* Code goes here */

}
12

パラメータを持つ非同期矢印関数の構文

const MyFunction = async (a,b,c) => {
  //code here
}
1
codemirror