Méthode JavaScript Promesse.race()

Methode Javascript Promesse Race



La méthode Promise.race() est une méthode intégrée de JavaScript qui prend un itérable de promesses comme argument et renvoie la première promesse qui est résolue ou rejetée. La méthode Promise.race() renverra soit la valeur d'exécution, soit la raison du rejet. Les itérables sont des objets qui peuvent être parcourus en boucle tels que des tableaux, des chaînes et des cartes.

Quelles sont les promesses de toute façon?

Le code asynchrone peut être traité avec des promesses. Ils prennent une fonction connue sous le nom d'exécuteur comme paramètre. Lorsqu'une promesse est créée, l'exécuteur s'exécute automatiquement de manière asynchrone et renvoie une valeur si elle est remplie, sinon il renvoie la raison du rejet :

laissez example_promise = nouvellePromise ( ( résoudre, rejeter ) => {
résoudre ( 'La promesse a été résolue' ) ;
} ) ;

exemple_promesse. alors ( r => console. Journal ( r ) ) ;







Caractère asynchrone des promesses :



laissez example_promise = nouvellePromise ( ( résoudre, rejeter ) => {
résoudre ( 'La promesse a été résolue' ) ;
} ) ;

exemple_promesse. alors ( r => console. Journal ( r ) ) ;
console. Journal ( '1,2,3...' ) ;



Comment utiliser la méthode Promise.race() ?

Passez un itérable de promesses à la méthode Promise.race() et récupérez sa valeur de retour dans la variable :





laissez prom1 = nouvellePromise ( ( résoudre, rejeter ) => {
setTimeout ( ( ) => résoudre ( 'La promesse a été résolue' ) , 500 ) ;
} ) ;

laissez prom2 = nouvellePromise ( ( résoudre, rejeter ) => {
setTimeout ( ( ) => rejeter ( 'La promesse n'a pas pu être résolue' ) , 250 ) ;
} ) ;

laisser temp = Promettre. course ( [ bal1, bal2 ] ) ;

temp. attraper ( raison => console. Journal ( raison ) ) ;

Dans cet exemple, nous avions deux promesses. La première promesse a été résolue après 500 ms et la deuxième promesse a été rejetée juste après 250 secondes. Comme la deuxième promesse était la première à être résolue ou rejetée, elle a été renvoyée par la méthode Promise.race().



Si l'argument passé à la méthode Promise.race() est un itérable vide, la méthode renverra une promesse toujours en attente :

laisser temp = Promettre. course ( [ ] ) ;

console. Journal ( temp ) ;

Si l'argument iterable a des valeurs sans promesse ou des promesses qui ont déjà été remplies ou rejetées, la méthode se contentera de la première valeur du tableau :

laissez p1 = nouvellePromise ( ( résoudre, rejeter ) => {
résoudre ( 'P1 a été résolu' ) ;
} ) ;

laissez p2 = nouvellePromise ( ( résoudre, rejeter ) => {
résoudre ( 'P2 a été résolu' ) ;
} ) ;

laisser temp = Promettre. course ( [ p1, p2 ] ) ;
temp. alors ( évaluer => console. Journal ( évaluer ) ) ;

La méthode Promise.race() vérifie les promesses résolues et rejetées. Cette méthode a également une autre alternative qui est la méthode Promise.any() qui peut être utilisée pour vérifier simplement les promesses tenues.

Conclusion

La méthode Promise.race() est utilisée pour obtenir la première promesse qui est remplie ou rejetée à partir d'un itérable de promesses. La promesse qui est remplie ou rejetée le plus tôt est la valeur de retour de Promise.race(). La rédaction a fourni un aperçu approfondi de la méthode Promise.race().