¿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.