Sobes.tech
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:

  1. La llamada a Promise.all([p1, p2, p3]) terminará con un error, ya que p2 se rechaza después de 100 ms con el mensaje "Error". Por lo tanto, en el bloque .catch(console.error) se mostrará:
Error
  1. 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.