ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の非同期関数の外で「await」が失敗するのはなぜですか?

JavaScript の非同期関数の外で「await」が失敗するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-09 02:10:11455ブラウズ

Why Does

エラー: 「await は非同期関数でのみ有効です」

「await」を使用しようとしたときに、提供された JavaScript コードでエラーが発生しました非同期関数内のキーワード。このエラーは、特に「start」関数内での「await」の使用を示しています。

説明:

「await」キーワードは本体内でのみ使用できます。非同期関数の名前であり、「async」キーワードで示されます。提供されたコードでは、「myfunction」が非同期関数として定義されており、その本体内で「await」を使用できます。ただし、「start」関数は、「async」キーワードを持たない通常の関数として定義されています。

解決策:

この問題を解決するには、「 start" 関数は非同期関数に変換する必要があります。これは、以下に示すように、関数定義の前に「async」キーワードを追加することで実現できます。

async function start(a, b) {
  ....
  const result = await helper.myfunction('test', 'test');
}

これで、「start」関数は「await」を使用して「myfunction」の完了を待つことができます。 " を呼び出して実行を続行します。

以上がJavaScript の非同期関数の外で「await」が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。