async/await es una característica de JavaScript que simplifica y mejora la legibilidad del código asíncrono. Permite escribir código asíncrono de manera más parecida a código síncrono, haciendo que sea más fácil de entender y mantener.
La palabra clave async se utiliza para declarar una función como asíncrona. Una función asíncrona siempre devuelve una Promesa. Aquí tienes un ejemplo básico:
async function miFuncionAsync() {
return "¡Hola desde una función asíncrona!";
}
miFuncionAsync().then((resultado) => {
console.log(resultado); // Resultado: ¡Hola desde una función asíncrona!
});La palabra clave await se utiliza dentro de una función async para esperar a que una Promesa se resuelva o se rechace. Hace que la ejecución de la función espere hasta que la Promesa se resuelva antes de continuar. Aquí tienes un ejemplo con una función que simula una operación asíncrona:
function esperar(segundos) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(`¡Se esperaron ${segundos} segundos!`);
}, segundos * 1000);
});
}
async function ejecutarOperacion() {
console.log("Inicio de la operación");
const resultado = await esperar(3);
console.log(resultado);
console.log("Fin de la operación");
}
ejecutarOperacion();En este ejemplo, la función esperar devuelve una Promesa que se resuelve después de un cierto número de segundos. La función ejecutarOperacion utiliza la palabra clave await para esperar que la Promesa se resuelva antes de continuar con la ejecución, lo que permite un manejo más claro y conciso de operaciones asíncronas.
-
Legibilidad Mejorada: El uso de
async/awaithace que el código asíncrono sea más legible y se asemeje a un estilo síncrono, facilitando la comprensión del flujo de ejecución. -
Manejo Sencillo de Errores: El manejo de errores con
try/catchen torno a operacionesawaitfacilita el manejo de errores en código asíncrono, mejorando la gestión y detección de problemas. -
Encadenamiento Sencillo: Permite encadenar operaciones asíncronas de manera más clara y eficiente, simplificando la construcción de flujos de trabajo complejos.
-
Facilita el Testing: Al escribir código de prueba,
async/awaitsimplifica el manejo de funciones asíncronas, haciendo que las pruebas sean más comprensibles y fáciles de desarrollar.
En resumen, async/await es una poderosa herramienta en JavaScript que simplifica el manejo de código asíncrono, mejorando la legibilidad y facilitando el desarrollo y mantenimiento del código.