ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の Promise.allSettled() と async-await について説明しますか?
Promise.allSettled() は、Promise の反復可能をパラメータとして受け取り、反復可能内のすべての Promise が解決されたときに解決される Promise を返すメソッドです。つまり、それらは実現されたか拒否されたかです。
返された Promise が履行されると、履行または拒否された Promise に関する情報を含むオブジェクトの配列を通じて解決されます。各オブジェクトにはステータス属性 (完了または拒否) と、値または理由属性があります。
たとえば、ネットワーク リクエストを表す一連の Promise があり、各リクエストのステータス (成功したかどうか) を知りたい場合は、Promise.allSettled() を使用してすべてのリクエストを待機できます。結果を処理する前に完了する必要があります。
Promise.allSettled() の使用は、複数の Promise (履行されたか拒否されたか) の結果を処理する場合に便利です。すべての Promise が満たされた場合にのみ解決され、いずれかの Promise が拒否された場合は拒否される Promise.all() とは異なります。
###文法###Iterable は、promise.allSettled() に提供される入力です。 Iterable オブジェクトは Promise を含む配列です。
非同期待機
await は、指定された Promise が満たされるまで実行を一時停止するために、非同期関数内で使用されます。
リーリーasync/await 構文は、非同期コードの外観と動作を同期コードに近づけ、読み書きを容易にする方法です。これにより、コールバックや then() メソッドを必要とせずに、同期コードのように見える非同期コードを作成できます。
これは、Promise.allSettled() を async/await で使用する例です -
リーリー次に、実際の
Promise.allSettled()の 2 つの使用例を示します。
ネットワークリクエストの処理
フォームでのユーザー入力の処理
例 1
従うべき手順は次のとおりです:
ステップ 1
ステップ 2
関数を定義します。
ステップ 3関数内で、 document.getElementById() > メソッドを使用して入力フィールドの値を取得します。 。
ステップ 4関数を使用して検証約束の配列を作成し、入力フィールドの値を引数として渡します。
ステップ 5 -を使用して、すべての検証 Promise が完了するまで待ちます。
ステップ 6の結果を反復処理し、各結果オブジェクトの status プロパティを確認します。 Promise が拒否された場合は、hasErrors フラグを true に設定し、エラー メッセージを記録します。
ステップ 7ステップ 8
関数を呼び出すように設定します。 validateForm() 関数が false を返した場合は、return false ステートメントを使用してフォームが送信されないようにします。 例 2
リーリー以上がJavaScript の Promise.allSettled() と async-await について説明しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。