ホームページ >ウェブフロントエンド >jsチュートリアル >「await は async 関数でのみ有効です」が発生するのはなぜですか?

「await は async 関数でのみ有効です」が発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 05:37:10937ブラウズ

Why Does

非同期関数と「await」キーワード: 「await は非同期関数でのみ有効です」エラーの原因は何ですか?

よく発生するのは、コーディング中、「await は async 関数でのみ有効です」エラーは、「await」キーワードを外部で使用しようとすると発生します。その名のとおり、「async」関数。この問題を理解するために、提供したコードを詳しく見てみましょう。

helper.js ファイルでは、「myfunction」という名前の「async」関数が定義されています。この関数は、「async」キーワードを正しく使用し、変数の配列。ただし、エラーはこの関数に起因するものではありません。これは別のファイルの「start」関数内にあります。

「start」関数は「async」として宣言されていないため、「await」キーワードを使用できません。これを修正するには、以下の変更コードに示すように、「start」を「async」関数に変換する必要があります。

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

「start」を「async」関数にすることで、次のことが可能になります。実行を一時停止し、「myfunction」プロミスの完了を待ってから続行してください。

「await」キーワードは「async」関数内でのみ使用できるため、常に関数を宣言する必要があることに注意してください。それらの中で「await」を使用する場合は、「async」キーワードを使用します。これにより、適切な非同期コード実行が保証され、「await は async 関数でのみ有効です」エラーが回避されます。

以上が「await は async 関数でのみ有効です」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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