Async y await son características que nos permiten escribir código asíncrono de forma más sencilla y fácil de leer.
En esencia async/await es una forma de trabajar con funciones asíncronas de JavaScript que se introdujo en ECMAScript 2017. La principal ventaja de async/await es que nos permite escribir código asíncrono de una manera que se asemeja más a la forma en que escribimos código síncrono.
En lugar de anidar callbacks o utilizar Promises encadenadas, podemos simplemente marcar una función como asíncrona con la palabra clave “async” y luego utilizar la palabra clave “await” dentro de la función para esperar a que se resuelva una Promise antes de continuar.
const countUntil = (timeInMiliseconds) => {
return new Promise((resolve, reject)=>{
setTimeout(() => {
resolve('Respuesta de consulta con valor en milisegundos: '+timeInMiliseconds);
}, timeInMiliseconds);
});
}
const init = async () => {
console.log("Log 1")
const response = await countUntil(1000);
console.log(response);
console.log("Log 2")
}
init();
Por ejemplo, en el código anterior se realiza la ejecución de una función donde se utiliza await para invocar una promesa, esto ocasiona que la respuesta se muestre de forma secuencial, es decir que en la consola se mostrará lo siguiente:
#Log 1
Respuesta de consulta con valor en milisegundos: 1000
#Log 2
En conclusión, await se puede utilizar para detener el procesamiento secuencial del código de una función hasta que se obtenga la resolución de otra y así tener una respuesta ordenada y sin necesidad de anidar funciones o utilizar callbacks para obtener la respuesta de un método asíncrono.
<solutionops-team> Happy Coding! </solutionops-team>