¿Qué son las funciones async/esperadas en JavaScript?

¿Qué son las funciones async/esperadas en JavaScript?

Como todos sabemos, la naturaleza de JavaScript de un solo enhebrado lo hace sincrónico; Entonces, las funciones asincrónicas son necesarias para realizar cualquier tarea asíncrona. Las funciones asíncronas nos permiten realizar una acción sin esperar a que complete la acción anterior. Eso significa que hay un bucle de eventos que le permite hacer cola una tarea (Cuando solicita algunos recursos) y pasar al siguiente.

JavaScript ofrece muchas características que pueden hacer que el código sea asíncrono; asíncrata Las funciones de espera son una de ellas. El Async/Wait Functions son solo azúcar sintáctica encima de las características ya presentes en JavaScript. Proporcionan una forma simple de manejar el código asíncrono. El Async/Wait Functions se puede intercambiar con promesas en el código JavaScript y el código funcionará perfectamente bien

Los cerebros humanos no están diseñados para manejar la asincronía de manera eficiente. El Async/Wait Functions Permítanos escribir un código que se vea sincronizado pero lo ejecuta asíncronamente.

Este artículo lo ayudará a aprender sobre asíncrata y esperar funciones en JavaScript.

Por qué usar funciones async/espera?

A continuación son las razones por las cuales Async/Wait Functions debe usarse en el código JavaScript:

  • Podemos escribir código limpio y conciso con algunos errores usando asíncrono/espera. Esto aumentará la legibilidad del código anidado y complejo.
  • Ayudar Depuración. Los errores se pueden manejar en un lugar usando Try/Catch.
  • El Async/Wait Functions tener una pila de error adecuada, a diferencia de la pila ambigua recibida por promesa, lo que dificulta encontrar dónde ocurrió el error.

Cómo usar Async en JavaScript

Asíncrata es una palabra clave que se puede utilizar para la declaración de funciones síncronas. A través de función async, Puede asegurarse de no romper el hilo de ejecución, que se puede escribir como un código basado en la promesa de sincronización.

Características de la función async

  • Funciona asincrónicamente a través de un bucle de eventos
  • Siempre devuelve un valor
  • Verifica que una promesa regrese, y si no lo hace, JavaScript lo envuelve automáticamente con la promesa que resuelve a ese valor

Sintaxis de la función asíncrata

La sintaxis del función async es como sigue:

Nombre de la función async ([param1 [, param2 [, ... param3]]])
declaraciones

Aquí, el nombre representa el nombre de la función, los parámetros representan el nombre de los parámetros que se pasarán en la función, y las declaraciones contienen el cuerpo de la función y una o más expresiones esperadas utilizadas dentro de la función Async.

Un ejemplo simple de la función async

const getData = async () =>
var data = "Hello World";
devolver datos;

obtener datos().entonces (data => consola.Dato de registro));

Echemos un vistazo a otro ejemplo:

function async foo ()
esperar 1;

La función anterior es equivalente a la siguiente función:

función foo ()
promesa de regreso.Resolver (1).entonces (() => indefinido)

El ejemplo anterior representa que el código después de cada expresión de espera es probable que esté en la devolución de llamada I.mi .entonces. A través de las funciones, la cadena de promesas se construye automáticamente paso a paso en cada etapa de reingreso. El valor de retorno forma el último paso en la cadena.

Cómo usar esperar en JavaScript

El propósito de la expresión de espera es esperar a JavaScript antes del resultado de retorno de la promesa. Es importante tener en cuenta que esto solo hará cola un bloque de funciones asincrónicas, no la ejecución de todo el programa.

Características de la función de espera

  • Solo se puede usar dentro de los bloques asincrónicos.
  • Hace que el código espere a la promesa de devolver un resultado.
  • Solo los bloques asíncronos se mantendrán esperando.

Sintaxis de la función de espera

La sintaxis de la expresión de espera es la siguiente:

[rv] = espera [expresión]

Aquí, espera representa cualquier valor para esperar o prometer, RV devuelve el valor si no hay promesa, o de lo contrario devuelve el valor esperado de la promesa.

Un simple ejemplo de expresión de espera

const getData = async =>
var y = espera "hola mundo";
consola.pesado);

consola.log (1);
obtener datos();
consola.log (2);

Javascript ejecuta el código secuencialmente.

En el ejemplo anterior podemos ver que el consola.registro (1) se imprimió primero como se esperaba. Después de esto el función getData () se llamó donde iniciamos una variable con el nombre de y y utilizamos la palabra clave de espera en ella.

La palabra clave de espera hará que el tiempo de ejecución de JS se detenga o detendrá el código en esa línea i-e donde hemos escrito "Hello World". No permitirá la ejecución de un código adicional hasta que la función de la función async devuelva el resultado. Enviará esta tarea a la cola de tareas y las siguientes líneas de código comenzarán a ejecutarse.

En la siguiente línea después de llamar a la función obtener datos() Estamos registrando la consola el 2 a la ventana de la consola. Por lo tanto, vimos 2 antes "Hola Mundo".

Ahora después de esto cuando el Función de llamadas async Devuelve el resultado solo entonces el código se reanudará para volver a funcionar y, por lo tanto, vemos "Hola Mundo"Al final de la ventana de la consola.

Conclusión

Las funciones de Async and Await son una excelente manera de manejar el código asíncrono en JavaScript, ya que proporcionan sintaxis clara y concisa. En esta publicación exploramos el concepto de funciones async/espera en JavaScript. En la primera mitad del artículo exploramos qué son las funciones de async/esperanza y por qué deberíamos usarlas. Luego exploramos sus características y sintaxis junto con ejemplos.