Sobes.tech
Junior

¿Qué formas de trabajar con código asíncrono conoces?

sobes.tech AI

Respuesta de la IA

Callbacks, Promesas, async/await.

Callbacks: Funciones pasadas como argumentos a otras funciones, que se llaman después de completar una operación asíncrona.

Promesas: Objetos que ofrecen una forma más conveniente de gestionar la asincronía en comparación con los callbacks. Tienen estados pending, fulfilled y rejected.

// Ejemplo de Promesa
function asyncOperation() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('¡Operación completada con éxito!');
    }, 1000);
  });
}

asyncOperation()
  .then(result => console.log(result))
  .catch(error => console.error(error));

async/await: Azúcar sintáctico sobre Promesas, que hace que el código asíncrono sea más parecido al síncrono y mejora su legibilidad.

// Ejemplo de async/await
async function performAsyncOperation() {
  try {
    const result = await asyncOperation();
    console.log(result);
  } catch (error) {
    console.error(error);
  }
}

performAsyncOperation();

Comparación de métodos:

Método Legibilidad / Mantenibilidad Manejo de errores Control del flujo
Callbacks Menos legible (Callback Hell) Difícil Difícil
Promesas Mejorada Cómodo (.catch) Cómodo (.then, .catch)
async/await La mejor Cómodo (try...catch) Cómodo (await)

El método más preferido en aplicaciones modernas de Node.js es usar async/await por su legibilidad y comodidad. Las Promesas siguen siendo una herramienta importante, especialmente en niveles más bajos de implementación. Los callbacks se usan en código obsoleto o para operaciones de bajo nivel en el núcleo de Node.js.