Async Await
Async/await es una sintaxis que facilita el trabajo con promesas, permitiendo escribir código asíncrono de forma más clara.
¿Qué es async?
Se utiliza para declarar una función asíncrona. Cuando usas async delante de una función, esta siempre devuelve una promesa. Incluso si dentro de esa función retornas un valor directamente, este será envuelto en una promesa
Ejemplo:
async function ejemploAsync() { return "Hola mundo";}
// llamadaejemploAsync().then(console.log);¿Qué es await?
Solo puede usarse dentro de funciones marcadas como async. await pausa la ejecución de la función asíncrona hasta que la promesa que se está esperando se resuelva o rechace.
Es como decir, “espera aquí hasta que termine esta operación”
ejemplo:
async function ejemploAwait() { const promesa = new Promise((resolve) => { setTimeout(() => resolve("Dato cargado"), 2000); });
const resultado = await promesa; console.log(resultado);}
ejemploAwait();Ventajas de async/await
- Código más legible: no necesitas encadenar .then() ni lidiar con tantas funciones anidadas
- Manejo más claro de errores: Puedes usar
try/catchpara capturar errores en lugar de catch()
Ejemplo con manejo de errores
async function obtenerDatos() { try { const respuesta = await fetch("https://api.example.com/datos"); const datos = await respuesta.json(); console.log(datos); } catch (e) { console.error(e); }}
obtenerDatos();Ejemplo completo:
async function cargarDatos() { try { console.log("Iniciando carga de datos..."); const respuesta = await fetch( "https://jsonplaceholder.typicode.com/posts/1" ); const datos = await respuesta.json(); console.log("Datos cargados:", datos); } catch (e) { console.error(e); }}
cargarDatos();