Avanzado y Asyncjueves, 22 de enero de 2026

Async / Await

Código asíncrono moderno y limpio.

Publicidad

Apoya a JS Fruggal visitando a nuestros patrocinadores.

Async/Await es azúcar sintáctico sobre Promesas. Hace que el código asíncrono parezca síncrono, lo cual es más fácil de seguir para el cerebro humano.

El Patrón

Nota que envolvemos todo en try/catch. Esto es obligatorio en código profesional. Sin él, si la solicitud falla, tu aplicación podría bloquearse silenciosamente.

// Llamada API simulada
const buscarUsuario = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      // Simular tasa de fallo del 50%
      Math.random() > 0.5 
        ? resolve({ id: 1, nombre: "Alice" }) 
        : reject(new Error("Error de Red"));
    }, 1000);
  });
};

async function cargarPerfil() {
  console.log("Cargando...");
  
  try {
    // El código se pausa aquí hasta que la promesa se resuelve
    const usuario = await buscarUsuario();
    console.log("Usuario cargado:", usuario.nombre);
  } catch (error) {
    // Si la promesa se rechaza, saltamos aquí
    console.error("Falló:", error.message);
  } finally {
    console.log("Spinner de carga oculto.");
  }
}

cargarPerfil();

Error Común: Cascadas Secuenciales

No uses await en cosas una por una si no dependen entre sí.
Malo: await getUsuario(); await getPosts(); (Espera dos veces).
Bueno: await Promise.all([getUsuario(), getPosts()]); (Se ejecutan juntos).

Publicidad

Apoya a JS Fruggal visitando a nuestros patrocinadores.