Saltar al contenido principal
Volver a Asincronía

Asincronía — Leccion 1

·20 min

Promesas

Maneja operaciones asíncronas con Promises.

Qué es una Promise?

Una Promise es un objeto que representa el resultado eventual de una operación asíncrona.

typescript
const miPromesa = new Promise<string>((resolve, reject) => {
  setTimeout(() => {
    resolve("Exito!");
  }, 1000);
});

miPromesa.then(resultado => console.log(resultado));

Estados de una Promise

Estado Descripcion
Pending Operación en curso
Fulfilled Operación completada
Rejected Operación fallida

then, catch, finally

typescript
fetch("https://api.ejemplo.com/datos")
  .then(res => res.json())
  .then(datos => console.log(datos))
  .catch(error => console.error("Error:", error))
  .finally(() => console.log("Fin"));

Promise.all - Todas exitosas

typescript
const [usuarios, posts, comments] = await Promise.all([
  fetch("/api/users").then(r => r.json()),
  fetch("/api/posts").then(r => r.json()),
  fetch("/api/comments").then(r => r.json()),
]);

Promise.race - Primera en completarse

typescript
const resultado = await Promise.race([
  fetch("/api/lento"),
  fetch("/api/rapido"),  // Gana esta
]);

Promise.allSettled - Todas completadas

typescript
const resultados = await Promise.allSettled([
  Promise.resolve("OK"),
  Promise.reject("Error"),
]);

resultados.forEach(r => {
  if (r.status === "fulfilled") console.log(r.value);
  else console.log(r.reason);
});

Ejercicio pratico

Crea una función que retorne una Promise que se resuelve con 'Hola' despues de 1 segundo.

exercise.ts
Loading...
Resultado

Haz clic en "Ejecutar" para ver el resultado...

Curso de TypeScript — Aprende desde cero