JavaScript で wait を使用する場合の catch による Promise の拒否の処理

WBOY
リリース: 2023-08-24 16:57:02
転載
1279 人が閲覧しました

在 JavaScript 中使用 wait 时通过 catch 处理 Promise 拒绝

JavaScript では、ユーザーは Promise を使用して特定の操作を実行できます。たとえば、API を使用してデータベースからデータを取得する Promise を作成できます。 Promise がデータベースからデータを正常に取得できた場合は、Promise が成功したことを意味し、Promise が失敗した場合は、Promise が拒否されたことを意味します。

まず、Promise を作成するための構文を見てみましょう。

###文法###

ユーザーは、次の構文に従って JavaScript で Promise を作成できます。

リーリー

上記の構文では、「

new

」キーワードを指定した Promise() コンストラクターを使用して Promise を作成します。 ###例### 次の例では、2 つの異なる Promise を作成します。さらに、私たちはそれらに対処し、拒否しました。

ユーザーは、正常に解決された

testPromise1

を管理する方法を以下のコードで確認できます。論理的な部分には、エラーを処理するために catch ブロックを使用する必要があるという 2 番目の約束が含まれます。出力では、

testPromise2

の Promise メッセージが catch ブロックから出力されていることがわかります。 リーリー 非同期関数と await キーワードで Promise を使用する ユーザーは約束を作成することを学びました。さらに、catch ブロックを使用して、解決された Promise と拒否された Promise を処理する方法を学びました。

次に、

非同期

関数と await キーワードを使用した Promise の使用方法を学習します。したがって、拒否された Promise のエラーを処理するには、

try-catch

ブロックを使用する必要があります。 非同期関数を使用すると、プログラム内で複数のタスクを並行して実行できます。関数を定義し、その後に async キーワードを付けて非同期にすることができます。その後、関数内で

await

キーワードを使用して、Promise の結果を待つことができます。 Promise から結果を取得しないと、関数内の他のタスクを実行できない場合があります。したがって、await キーワードを使用して取得できる結果を待つ必要があります。 ###文法### promise を await キーワードとともに使用すると、ユーザーは try-catch ブロックを使用して、次の構文に従って Promise エラーを処理できます。 リーリー 上記の構文では、関数を非同期にするために

async

キーワードを使用し、Promise が履行されるか拒否されるのを待つために

await

キーワードを使用します。

###例###

以下の例では、非同期関数を作成します。さらに、拒否付きの Promise を返す promise1() 関数を作成しました。 async 関数では、await キーワードを使用して promise1() 関数を呼び出しました。Promise が拒否されると、制御は catch ブロックに移ります。

リーリー ###例###

以下の例では、上の例で作成したものと同じ Promise を作成しますが、Promise が拒否された場合のタイマーを追加します。

ユーザーが「execute Promise」ボタンをクリックすると、executePromise() 関数が実行されます。

executePromise()

関数では、await キーワードを使用して

timerPromise()

を呼び出します。関数の待機が継続するまで、

timerPromise()

は 5 秒間プロミスを拒否します。どうぞ。 リーリー 上記の出力では、ユーザーが「Execute Promise」ボタンをクリックすると、Promise が拒否されるまでに 5 秒かかるため、5 秒後に catch ブロックからのエラー メッセージが表示されることがわかります。

以上がJavaScript で wait を使用する場合の catch による Promise の拒否の処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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