ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の非同期ジェネレーター関数でエラーを発生させるにはどうすればよいですか?

JavaScript の非同期ジェネレーター関数でエラーを発生させるにはどうすればよいですか?

WBOY
WBOY転載
2023-08-29 08:49:021151ブラウズ

如何在 JavaScript 中的异步生成器函数中引发错误?

コードではエラーがスローされることが多く、エラーの処理の方が重要です。 JavaScript では、ユーザーが「throw」キーワードを使用してカスタム エラーをスローすることもできます。 catch ブロックでエラーをキャッチできます。

try-catch 構文を使用して、通常の関数によってスローされたエラーをキャッチできます。次の例を通してそれを理解してみましょう。

例 1 (通常の関数でエラーをスローする)

次の例では、 throwError() 通常関数を作成します。この関数は、 throw キーワードを使用してカスタム エラー メッセージを含むエラーをスローします。 try ブロック内で関数を実行しました。関数がエラーをスローした場合、制御は catch ブロックに移り、これがエラーを検出する方法です。

リーリー

throwError() 関数を非同期にすると、try-catch ブロックを使用して同期関数によってスローされたエラーを処理できるため、別のエラーが生成されます。

この問題を解決するには、ユーザーは then-catch ブロック構文を使用して Promise を解決する必要があります。

###文法###

ユーザーは次の構文に従って、非同期関数によってスローされたエラーを解決できます。

リーリー

上記の構文では、 throwError() は Promise を返す関数であり、then ブロックと catch ブロックを使用してこの問題を解決します。

例 2 (非同期関数がエラーをスローする)

以下の例では、関数キーワードの前に「async」キーワードを追加したため、throwError() 関数は非同期関数です。通常の関数の場合と同様に、非同期関数からエラーをスローしました。

その後、then ブロックと catch ブロックを使用して Promise を処理します。出力では、async 関数がエラーをスローすると、制御が catch ブロックに移ることがわかります。

リーリー

例 3 (非同期関数で Promise を拒否してエラーをスローする)

非同期関数から Promise を返すことができます。非同期関数で Promise を拒否することは、エラーをスローすることに似ています。 Promise を拒否するには、コールバック関数で request() メソッドを使用します。

「then-catch」ブロックは、関数によって返された Promise を解決するために使用され、ユーザーはコントロールが catch ブロックに移動することを確認できます。

リーリー

ユーザーは、非同期関数からエラーをスローする方法を学びました。ユーザーは、「throw」キーワードを使用して、通常の関数と同様にエラーをスローできます。非同期関数は try-catch ブロックを使用する代わりに Promise を返すため、ユーザーはエラーを処理するために "then-catch" ブロックを使用する必要があります。

以上がJavaScript の非同期ジェネレーター関数でエラーを発生させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。