Devuelve una única Promesa que se resuelve cuando:
Tipos de Promesas
Promise.all
const promesa1 = obtenerDatos();
const promesa2 = cargarImagen("imagen1.jpg");
const promesa3 = cargarImagen("imagen2.jpg");
Promise.all([promesa1, promesa2, promesa3])
.then((resultados) => {
const datos = resultados[0];
const imagen1 = resultados[1];
const imagen2 = resultados[2];
console.log(datos);
document.body.appendChild(imagen1);
document.body.appendChild(imagen2);
})
.catch((error) => {
console.error(error);
});
Promise.race
Devuelve una única Promesa que se resuelve o se rechaza tan pronto como:
const promesa1 = new Promise(resolve => setTimeout(() => resolve('Ganó la primera'), 1000));
const promesa2 = new Promise(resolve => setTimeout(() => resolve('Ganó la segunda'), 500));
Promise.race([promesa1, promesa2])
.then(ganador => console.log(ganador))
.catch(error => console.error(error));
Promise.allSettled
Devuelve una Promesa que se resuelve después de que:
const promises = [Promise.resolve(1), Promise.reject('Error'), Promise.resolve(3)];
Promise.allSettled(promises)
.then(resultados => console.log(resultados))
.catch(error => console.error(error));
Promise.any
Devuelve una única Promesa que se resuelve tan pronto como:
const promises = [Promise.resolve(1), Promise.reject('Error'), Promise.resolve(3)];
Promise.allSettled(promises)
.then(resultados => console.log(resultados))
.catch(error => console.error(error));
Tabla Comparativa de Tipos de Promesas
Método y Definición
Condición
Valor resultante
Promise.all: Retorna una Promesa que se resuelve cuando todas
las Promesas en el iterable se han resuelto o una se ha rechazado.
Se resuelve solo si todas las Promesas en el iterable se resuelven.
Todas las Promesas se resuelven o una se rechaza.
Promise.race: Retorna una Promesa que se resuelve o se rechaza tan
pronto como una de las
Promesas del iterable se resuelve o se rechaza, con el valor o la razón de esa Promesa.
Se resuelve o se rechaza tan pronto como una de las Promesas del iterable se
resuelve o se rechaza.
La primera Promesa que se resuelve o se rechaza.
Promise.allSettled: Retorna una Promesa que se resuelve después de
que todas las Promesas en el
iterable se hayan resuelto o rechazado, devolviendo un array de objetos con información sobre el
resultado de cada Promesa.
Se resuelve después de que todas las Promesas en el iterable se hayan resuelto o
rechazado.
Información sobre el resultado de cada Promesa.
Promise.any: Retorna una Promesa que se resuelve tan pronto como al
menos una de las Promesas
del iterable se resuelve. Si todas las Promesas son rechazadas, se rechaza con un array de razones.
Se resuelve tan pronto como al menos una de las Promesas se resuelve.
El valor de la primera Promesa que se resuelve.