Volver a Asincronía
Asincronía — Leccion 1
·20 minPromesas
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...