Desvelando JavaScript: Entendiendo Promises y Async/Await ⏳🚀
JavaScript es el lenguaje de programación del lado del cliente más usado en la web hoy. En su evolución, fueron introducidos conceptos como Promises y Async/Await para lidiar con operaciones asíncronas de una forma más eficiente y fácil de entender. En este tutorial, vamos a desvelar esos conceptos.
¿Qué son las Promises?
Las Promises son objetos en JavaScript que representan la eventual conclusión o falla de una operación asíncrona. Las Promises pueden estar en uno de tres estados:
- Pendiente (Pending): la operación asíncrona aún no ha sido concluida.
- Cumplida (Fulfilled): la operación fue concluida con éxito.
- Rechazada (Rejected): la operación falló.
Aquí está un ejemplo de una Promise:
let promise = new Promise((resolve, reject) => {
let condition = true;
if (condition) {
resolve('¡La operación fue concluida con éxito!');
} else {
reject('La operación falló.');
}
});
promise
.then(message => {
console.log(message);
})
.catch(message => {
console.error(message);
});¿Y qué es Async/Await?
Async/Await es una forma más reciente y elegante de lidiar con operaciones asíncronas en JavaScript. La palabra clave async es colocada antes de una función para indicar que es asíncrona, y la palabra clave await es usada dentro de la función asíncrona para pausar la ejecución del código hasta que una Promise sea resuelta o rechazada.
Aquí está un ejemplo de cómo usar Async/Await:
async function miFuncionAsincrona() {
try {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('¡La operación fue concluida con éxito!'), 1000);
});
let result = await promise;
console.log(result);
} catch (error) {
console.error(error);
}
}
miFuncionAsincrona();Conclusión
Promises y Async/Await son herramientas poderosas que hacen el trabajo con operaciones asíncronas en JavaScript mucho más manejable. Son especialmente útiles cuando se lidia con operaciones que toman mucho tiempo para ser concluidas, como solicitudes de red, lectura de archivos y mucho más.
Para continuar perfeccionando tus habilidades en JavaScript, consulta el artículo sobre Introducción a JavaScript Moderno: ECMAScript 6 y Más Allá.

