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