Método JavaScript Promise.race()

Metodo Javascript Promise Race



El método Promise.race() es un método incorporado de JavaScript que toma una iteración de promesas como argumento y devuelve la primera promesa que se resuelve o rechaza. El método Promise.race() devolverá el valor de cumplimiento o el motivo del rechazo. Los iterables son objetos que se pueden recorrer en bucle, como matrices, cadenas y mapas.

¿Qué son las promesas de todos modos?

El código asincrónico se puede tratar con promesas. Toman como parámetro una función conocida como ejecutor. Cuando se crea una promesa, el ejecutor automáticamente se ejecuta de forma asíncrona y devuelve un valor en caso de que se cumpla, de lo contrario devuelve el motivo del rechazo:

dejar ejemplo_promise = nuevopromesa ( ( resolver, rechazar ) => {
resolver ( 'La promesa ha sido resuelta' ) ;
} ) ;

ejemplo_promesa. después ( r => consola. Iniciar sesión ( r ) ) ;







Naturaleza asíncrona de las promesas:



dejar ejemplo_promise = nuevopromesa ( ( resolver, rechazar ) => {
resolver ( 'La promesa ha sido resuelta' ) ;
} ) ;

ejemplo_promesa. después ( r => consola. Iniciar sesión ( r ) ) ;
consola. Iniciar sesión ( '1,2,3...' ) ;



¿Cómo usar el método Promise.race()?

Pase una iteración de promesas al método Promise.race() y obtenga su valor de retorno en la variable:





dejar prom1 = nuevopromesa ( ( resolver, rechazar ) => {
establecer tiempo de espera ( ( ) => resolver ( 'La promesa ha sido resuelta' ) , 500 ) ;
} ) ;

dejar prom2 = nuevopromesa ( ( resolver, rechazar ) => {
establecer tiempo de espera ( ( ) => rechazar ( 'Promesa no se pudo resolver' ) , 250 ) ;
} ) ;

dejar temp = Promesa. la raza ( [ baile1, baile2 ] ) ;

temperatura captura ( razón => consola. Iniciar sesión ( razón ) ) ;

En este ejemplo teníamos dos promesas. La primera promesa se resolvió después de 500 ms y la segunda promesa se rechazó justo después de 250 segundos. Como la segunda promesa fue la primera en ser resuelta o rechazada, fue devuelta por el método Promise.race().



Si el argumento pasado al método Promise.race() es un iterable vacío, el método devolverá una promesa pendiente para siempre:

dejar temp = Promesa. la raza ( [ ] ) ;

consola. Iniciar sesión ( temperatura ) ;

Si el argumento iterable tiene valores no prometidos o promesas que ya se cumplieron o rechazaron, el método se conformará con el primer valor de la matriz:

vamos p1 = nuevopromesa ( ( resolver, rechazar ) => {
resolver ( 'P1 ha sido resuelto' ) ;
} ) ;

vamos p2 = nuevopromesa ( ( resolver, rechazar ) => {
resolver ( 'P2 ha sido resuelto' ) ;
} ) ;

dejar temp = Promesa. la raza ( [ p1,p2 ] ) ;
temperatura después ( valor => consola. Iniciar sesión ( valor ) ) ;

El método Promise.race() verifica las promesas resueltas y rechazadas. Este método también tiene otra alternativa que es el método Promise.any() que se puede usar para verificar las promesas cumplidas.

Conclusión

El método Promise.race() se usa para obtener la primera promesa que se cumple o se rechaza de una iteración de promesas. La promesa que se cumple o rechaza primero es el valor de retorno de Promise.race(). El artículo proporcionó información detallada sobre el método Promise.race().