ホームページ >ウェブフロントエンド >jsチュートリアル >非同期関数の外で「await」を使用すると「await は非同期関数でのみ有効です」と表示されるのはなぜですか?

非同期関数の外で「await」を使用すると「await は非同期関数でのみ有効です」と表示されるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-18 08:50:09598ブラウズ

Why Does

非同期関数の待機

JavaScript で await キーワードを使用しようとすると、「await は非同期関数でのみ有効です」というエラーが発生する場合があります。このエラーは、await キーワードが誤って使用されている場合に発生します。

このシナリオでは、エラーは myfunction 関数ではなく start 関数に関係します。 myfunction 関数は非同期関数として正しく定義されているため、その中で await キーワードを使用できます。ただし、start 関数は非同期関数として定義されていません。

これを修正するには、start 関数を変更して非同期関数にし、その中で await キーワードを使用できるようにする必要があります。 start 関数を書き換える方法の例を次に示します。

async function start(a, b) {
  const result = await myfunction(a, b);

  console.log(result);   // Do something with the result
}

start 関数を非同期にすることで、myfunction 関数が完了するまで await キーワードを使用して関数の実行を一時停止できるようになりました。実行。これは、後続のコードに進む前に、結果変数に期待されるデータが含まれていることを保証するため、非常に重要です。

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

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