¿Qué es la herramienta Promise.race en JavaScript?

| Última modificación: 10 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En este artículo, vamos a descubrir todo lo que necesitas saber sobre Promise.race en JavaScript. En el emocionante mundo del desarrollo web y la programación en JavaScript, existen numerosas herramientas y métodos que nos permiten trabajar con asincronía de manera eficiente. Uno de esos métodos es Promise.race, el cual desencadena una competición entre promesas.

Promise.race en JavaScript

Promise.race en JavaScript es uno de los métodos más interesantes para trabajar con promesas en JS. Como su nombre sugiere, este método desencadena una competición entre varias promesas y devuelve la primera promesa que se resuelve (ya sea cumplida o rechazada). Esto puede ser extremadamente útil en situaciones en las que deseamos obtener una respuesta lo más rápido posible entre múltiples operaciones asincrónicas.

La sintaxis básica de Promise.race en JavaScript es la siguiente:

Promise.race(iterable);

Donde iterable es un arreglo de promesas que deseamos competir. El método Promise.race retornará una nueva promesa que se resolverá con el resultado de la primera promesa en el arreglo que se resuelva o se rechace.

Ejemplo de uso de Promise.race en JavaScript

Para comprender mejor cómo funciona Promise.race en JavaScript, veamos un ejemplo práctico. Supongamos que tenemos dos promesas que representan la carga de dos imágenes desde diferentes servidores:

const imagen1 = cargarImagen('https://servidor1.com/imagen1.jpg'); 
const imagen2 = cargarImagen('https://servidor2.com/imagen2.jpg'); Promise.race([imagen1, imagen2]) 
.then(imagen => { 
console.log('La primera imagen que se cargó es:', imagen); 
}) 
.catch(error => { 
console.error('Ocurrió un error al cargar las imágenes:', error); 
});

En este ejemplo, Promise.race se utiliza para cargar dos imágenes desde diferentes servidores y la primera que se cargue con éxito se imprimirá en la consola. Si una de las promesas se resuelve primero (ya sea cumplida o rechazada), eso determinará el resultado de la promesa devuelta por Promise.race.

Compatibilidad del navegador

Al utilizar Promise.race u otros métodos de promesas en tu código JavaScript, es importante tener en cuenta la compatibilidad del navegador. Afortunadamente, la mayoría de los navegadores modernos admiten promesas y sus métodos, incluido Promise.race. Sin embargo, si estás trabajando en un proyecto que requiere compatibilidad con navegadores más antiguos, es posible que debas considerar el uso de polyfills o bibliotecas que proporcionen soporte para promesas.

Promise.race en la vida real

Promise.race es una herramienta poderosa que se utiliza en una variedad de escenarios del mundo real. Algunos ejemplos comunes de su uso son:

  • Timeout en solicitudes HTTP: puedes usar Promise.race para establecer un límite de tiempo en una solicitud HTTP y cancelarla si no se completa en un tiempo determinado.
  • Múltiples fuentes de datos en tiempo real: si estás construyendo una aplicación que recibe datos en tiempo real de varias fuentes, Promise.race te permite mostrar la información más actualizada al usuario tan pronto como esté disponible.
  • Priorización de operaciones: en aplicaciones complejas, a menudo es necesario priorizar ciertas operaciones sobre otras. Promise.race te permite tomar decisiones rápidas en función de cuál se resuelva primero.

En resumen, Promise.race en JavaScript es una herramienta valiosa en el kit de herramientas de un desarrollador. Permite desencadenar una competición entre promesas y obtener la respuesta más rápida, lo que es especialmente útil en situaciones donde la velocidad es esencial.

Si estás interesado en aprender más sobre desarrollo web y convertirte en un profesional altamente demandado en la industria de la tecnología, considera unirte al Desarrollo Web Full Stack Bootcamp de KeepCoding. Nuestro bootcamp te proporcionará los conocimientos técnicos y prácticos necesarios para triunfar en el mundo de la tecnología, el cual ofrece salarios altos y una estabilidad laboral que pocos otros sectores pueden igualar. ¡No pierdas la oportunidad de cambiar tu vida y unirte al emocionante mundo del desarrollo web!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado