JavaScript Promise.race() メソッド

Javascript Promise Race Mesoddo



Promise.race() メソッドは JavaScript の組み込みメソッドであり、promise の iterable を引数として受け取り、解決または拒否された最初の promise を返します。 Promise.race() メソッドは、履行値または拒否の理由を返します。イテラブルは、配列、文​​字列、マップなど、ループできるオブジェクトです。

とにかくPromiseとは何ですか?

非同期コードは promise で処理できます。これらは、エグゼキューターと呼ばれる関数をパラメーターとして受け取ります。 promise が作成されると、executor は自動的に非同期で実行され、満たされている場合は値を返し、それ以外の場合は拒否の理由を返します。

example_promise をさせてください = 新しい約束 ( ( 解決する、拒否する ) => {
解決 ( 「約束は守られた」 ) ;
} ) ;

example_promise. それから ( r => コンソール。 ログ ( r ) ) ;







promise の非同期性:



example_promise をさせてください = 新しい約束 ( ( 解決する、拒否する ) => {
解決 ( 「約束は守られた」 ) ;
} ) ;

example_promise. それから ( r => コンソール。 ログ ( r ) ) ;
コンソール。 ログ ( 「1,2,3...」 ) ;



Promise.race() メソッドの使用方法

Promise.race() メソッドに反復可能な promise を渡し、その戻り値を変数で取得します。





prom1をしましょう = 新しい約束 ( ( 解決する、拒否する ) => {
setTimeout ( ( ) => 解決 ( 「約束は守られた」 ) 500 ) ;
} ) ;

prom2をしましょう = 新しい約束 ( ( 解決する、拒否する ) => {
setTimeout ( ( ) => 拒絶 ( 「Promise を解決できませんでした」 ) 250 ) ;
} ) ;

一時的にさせてください = 約束。 人種 ( [ prom1、prom2 ] ) ;

温度 キャッチ ( 理由 => コンソール。 ログ ( 理由 ) ) ;

この例では、2 つの約束がありました。最初の約束は 500 ミリ秒後に解決され、2 番目の約束は 250 秒後に拒否されました。 2 番目の promise は解決または拒否された最初のものであるため、 Promise.race() メソッドによって返されました。



Promise.race() メソッドに渡された引数が空の iterable である場合、メソッドは永久に保留中の promise を返します。

一時的にさせてください = 約束。 人種 ( [ ] ) ;

コンソール。 ログ ( 温度 ) ;

引数 iterable に、すでに実行または拒否された非プロミス値またはプロミスがある場合、メソッドは配列の最初の値に落ち着きます。

p1をしましょう = 新しい約束 ( ( 解決する、拒否する ) => {
解決 ( 「P1は解決しました」 ) ;
} ) ;

p2をさせてください = 新しい約束 ( ( 解決する、拒否する ) => {
解決 ( 「P2は解決しました」 ) ;
} ) ;

一時的にさせてください = 約束。 人種 ( [ p1,p2 ] ) ;
温度 それから ( 価値 => コンソール。 ログ ( 価値 ) ) ;

Promise.race() メソッドは、解決された Promise と拒否された Promise の両方をチェックします。このメソッドには、履行された約束を確認するために使用できる Promise.any() メソッドという別の代替手段もあります。

結論

Promise.race() メソッドは、promise の iterable から実行または拒否された最初の promise を取得するために使用されます。 Promise.race() の戻り値は、最も早く履行または拒否されたプロミスです。この記事では、Promise.race() メソッドに関する詳細な洞察を提供しました。