¿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:
- pendiente (pending): aún no se sabe el resultado.
- cumplida (fulfilled): terminó bien, con un valor.
- rechazada (rejected): falló, con un error.
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));
.then(fn)se ejecuta si la promesa se cumple..catch(fn)se ejecuta si se rechaza.- Se pueden encadenar varios
.then, devolviendo un valor en cada paso.
En las prácticas, el verificador espera a que tus promesas se resuelvan (usa
awaitpor 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);