Asíncrata La palabra clave cuando se usa para definir una función hace que la función devuelva un Promesa, mientras esperar la función hace que la función async espere una promesa que se devuelva dentro de ella. Para comprender el uso de Async y esperar funciones, debe tener una gran comprensión de cómo funcionan las promesas en JavaScript.
Async and Await es un concepto de JavaScript de nivel avanzado, por eso lo aprenderemos a través de varios ejemplos y lo entendemos atravesando el ejemplo de línea por línea.
Ejecución secuencial en JavaScript
JavaScript es un lenguaje de secuencias de comandos secuencialmente ejecutado o podemos decir que. El código se invoca línea por línea de forma procesal.
Considere las líneas de código que se escriben a continuación:
función hello ()Observe la salida en la consola como:
Como puede ver, las funciones o líneas invocadas primero siempre se terminaron primero. La razón para mostrarle un ejemplo simple como este fue hacerle notar cuándo la secuencia de ejecución cambiará con async espera y promete.
Async/ espera en acción
Considere una función simple que devuelve algún texto, como:
función getUsers ()La salida del siguiente código es:
Como podemos ver la función devuelta como la cadena que dice, los usuarios. Intentemos poner la palabra clave asíncrata antes de la definición de función como:
function async getUsers ()Ahora, en su consola, verá que esta vez en torno a la función devolvió una promesa que tenía el estado "cumplido":
Pero en los casos en que está obteniendo algunos datos de alguna API REST o cualquier API web, esta promesa cambiará múltiples estados, desde pendientes hasta cumplidos/rechazados. En tales casos, esperamos el retorno del resultado de la promesa utilizando el esperar palabra clave.
Para esto, vamos a usar la API de Fetch y obtener la información sobre los usuarios de la "API.github/usuarios ”con las siguientes líneas de código:
function async getUsers ()Hay muchas cosas que explicar aquí:
De esta manera, todo este programa saldrá de la ejecución secuencial normal e implementará una ejecución asincrónica del código utilizando promesas y asíncrono/espera Palabras clave.
El fragmento de código completo es como:
function async getUsers ()Nota: La línea "lista.Entonces ((usuario) => Consola.log (usuario));"No se ejecutará hasta que la función GetUsers se ocupa de todas las promesas y devuelve el valor, incluso aquí la ejecución secuencial alterará.
Ahora, si ejecuta este programa como un script de un archivo HTML, verá la siguiente salida en su consola:
Examine de cerca el resultado y notará el flujo de ejecución como:
Así es como altera la ejecución secuencial e implementa la ejecución asincrónica
Conclusión
Asíncrata y esperar Las palabras clave se utilizan para implementar la ejecución asincrónica del código JavaScript con la ayuda de promesas. Asíncrata palabra clave cuando se usa antes de la declaración de una función convierte que funcione en un función async y su tipo de devolución cambia a una promesa. Mientras esperar es una palabra clave que espera una promesa que se reciba dentro de un función async. Asíncrono/espera Ayúdanos a escribir promesas de una manera mucho más agradable y ordenada que sea más legible y comprensible.