0Pricing
JavaScript Academy · Lección

Promise.all / any / race / allSettled: elija la herramienta adecuada

Practique con los combinadores de Promise: all, any, race y allSettled. Aprenda cómo se comportan ante el éxito y el fallo, y cuándo usar cada uno.

Promise.all / any / race / allSettled: elija la herramienta adecuada es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 3 lecciones en total.

Descripción general de los combinadores

Objetivo: Aprender cuatro ayudantes y su comportamiento.

  • all: esperar a todos; fallar rápidamente
  • any: primer éxito
  • race: el primero en finalizar (éxito/error)
  • allSettled: resultados de todos
Promise.all / any / race / allSettled: elija la herramienta adecuada — ilustración 1

Conceptos básicos de Promise.all

Promise.all se resuelve con un array de resultados; un solo rechazo provoca el rechazo de toda la operación.

// Small helpers for examples
function delay(ms, value, shouldFail = false) {
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      if (shouldFail) reject(new Error(String(value)));
      else resolve(value);
    }, ms);
  });
}

// Promise.all waits for all; rejects fast on first error
Promise.all([
  delay(10, "A"),
  delay(5, "B")
]).then(function (vals) {
  console.log("all:", vals);
});
Promise.all / any / race / allSettled: elija la herramienta adecuada — ilustración 2

Conceptos básicos de Promise.any

Promise.any se resuelve con el primer éxito; solo se rechaza si todas las entradas se rechazan.

// Promise.any gives the first fulfilled value
Promise.any([
  delay(8, "ok-1"),
  delay(3, "ok-2"),
  delay(6, "ok-3")
]).then(function (v) {
  console.log("any:", v);
}).catch(function (e) {
  console.log("any failed:", e.message);
});
Promise.all / any / race / allSettled: elija la herramienta adecuada — ilustración 3

Conceptos básicos de Promise.race

Promise.race elige la operación que finaliza primero: puede resolverse o rechazarse.

// Promise.race settles with the first to finish (success or error)
Promise.race([
  delay(5, "win"),
  delay(7, "boom", true)
]).then(function (v) {
  console.log("race resolved:", v);
}).catch(function (e) {
  console.log("race rejected:", e.message);
});
Promise.all / any / race / allSettled: elija la herramienta adecuada — ilustración 4

Conceptos básicos de Promise.allSettled

Promise.allSettled siempre se resuelve con un array de objetos de estado para cada entrada.

// Promise.allSettled waits for all and reports each outcome
Promise.allSettled([
  delay(4, "A"),
  delay(6, "X", true)
]).then(function (results) {
  console.log("allSettled:", results.map(function (r) { return r.status; }));
});
Promise.all / any / race / allSettled: elija la herramienta adecuada — ilustración 5

¿Cuál utilizar?

Elección:

  • all: necesita todos los resultados; falla rápidamente ante cualquier error.
  • any: acepta el primer éxito (fuentes de respaldo).
  • race: elige la operación que termine primero (patrones de tiempo de espera).
  • allSettled: recopila todos los resultados para inspeccionarlos.
Promise.all / any / race / allSettled: elija la herramienta adecuada — ilustración 6

Cuestionario sobre la elección de combinadores

Comprobación rápida: Primer resultado fulfilled.

Promise.all / any / race / allSettled: elija la herramienta adecuada — ilustración 7

Repaso

Repaso: Utilice all cuando «necesite todos», any para obtener «el primer éxito», race para «el primero en finalizar» y allSettled para inspeccionar todos los resultados sin interrumpir el proceso.

Promise.all / any / race / allSettled: elija la herramienta adecuada — ilustración 8

Preguntas frecuentes

¿La lección «Promise.all / any / race / allSettled: elija la herramienta adecuada» es gratis?

Sí — el texto completo de «Promise.all / any / race / allSettled: elija la herramienta adecuada» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Promise.all / any / race / allSettled: elija la herramienta adecuada»?

Practique con los combinadores de Promise: all, any, race y allSettled. Aprenda cómo se comportan ante el éxito y el fallo, y cuándo usar cada uno. Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar JavaScript Academy?

No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.

¿Cuánto tiempo toma la lección «Promise.all / any / race / allSettled: elija la herramienta adecuada»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?

Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Event loop y fundamentos de tareas y microtareas
  2. Promises: estados, encadenamiento y gestión de errores
  3. Promise.all / any / race / allSettled: elija la herramienta adecuada
← Volver a JavaScript Academy