Middle
// ¿Qué se mostrará en la consola? const p1 = Promise.resolve(1); const p2 = new Promise((_, reject) => setTimeout(() => reject("Error"), 100)); const p3 = Promise.resolve(3); Promise.all([p1, p2, p3]) .then(console.log) .catch(console.error); Promise.allSettled([p1, p2, p3]).then(console.log);
sobes.tech AI
Respuesta de la IA
En la consola se mostrará lo siguiente:
- La llamada a
Promise.all([p1, p2, p3])terminará con un error, ya quep2se rechaza después de 100 ms con el mensaje "Error". Por lo tanto, en el bloque.catch(console.error)se mostrará:
Error
- La llamada a
Promise.allSettled([p1, p2, p3])siempre termina con éxito, devolviendo un array con los resultados de todas las promesas, independientemente de su estado. En la consola se mostrará un array de objetos:
[
{ status: "fulfilled", value: 1 },
{ status: "rejected", reason: "Error" },
{ status: "fulfilled", value: 3 }
]
De esta forma, primero aparecerá en la consola el error de Promise.all, y luego el array de resultados de Promise.allSettled.