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

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

Mary-Kate Olsen
リリース: 2024-12-18 08:50:09
オリジナル
597 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート