DevPath · Aprende a programar ESPTEN

Asincronía: promesas y async/await

Promesas

¿Qué es una promesa?

Una promesa (Promise) es un objeto que representa el resultado de una operación que aún no ha terminado. Una promesa está en uno de tres estados:

const promesa = new Promise((resolve, reject) => {
  const exito = true;
  if (exito) {
    resolve("¡Datos listos!"); // cumplida
  } else {
    reject(new Error("Falló")); // rechazada
  }
});

Consumir una promesa: then y catch

promesa
  .then((valor) => console.log("Éxito:", valor))
  .catch((error) => console.log("Error:", error.message));

En las prácticas, el verificador espera a que tus promesas se resuelvan (usa await por dentro), así que comprobará tanto la estructura de tu código como el valor final que produce. Lo que escribas será código asíncrono real.

Ejemplos

Crear y consumir una promesa

function tareaRapida(ok) {
  return new Promise((resolve, reject) => {
    if (ok) resolve("hecho");
    else reject(new Error("fallo"));
  });
}
tareaRapida(true).then((v) => console.log("Resultado:", v));
console.log("¿Es promesa?", tareaRapida(true) instanceof Promise);
Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
← El event loop y los callbacksasync / await y Promise.all →