Pulicidad

Header Ads

Diferencia entre async y await en javascript

async y await son caracter铆sticas introducidas en ES2017 que simplifican el manejo de promesas en JavaScript. La palabra clave async se utiliza para indicar que una funci贸n devuelve una promesa, mientras que await se utiliza para esperar a que se resuelva una promesa antes de continuar con la ejecuci贸n del c贸digo.

La manipulaci贸n de promesas puede ser un poco complicada en JavaScript porque a veces tenemos que anidar varias llamadas de devoluci贸n de llamada o encadenar m煤ltiples promesas. async y await simplifican este proceso al permitirnos escribir c贸digo as铆ncrono que parece s铆ncrono.

Veamos un ejemplo de c贸mo se utiliza una promesa para hacer una solicitud HTTP GET a una API y obtener algunos datos:

fetch('https://jsonplaceholder.typicode.com/todos/1')
  .then(response => response.json())
  .then(data => console.log(data))
.catch(error => console.error(error));
En este ejemplo, utilizamos el m茅todo fetch para hacer una solicitud HTTP GET a la API de JSONPlaceholder y obtenemos una promesa. Luego, encadenamos dos m茅todos .then() para convertir la respuesta en formato JSON y almacenar los datos en la constante data. Finalmente, utilizamos el m茅todo .catch() para manejar cualquier error que pueda ocurrir durante la solicitud. Ahora, veamos c贸mo se ver铆a el mismo c贸digo utilizando async y await:
async function obtenerDatos() {
  try {
    const respuesta = await fetch('https://jsonplaceholder.typicode.com/todos/1');
    const datos = await respuesta.json();
    console.log(datos);
  } catch (error) {
    console.error(error);
  }
}

obtenerDatos();
En este ejemplo, creamos la funci贸n obtenerDatos con la palabra clave async. Luego, utilizamos await para hacer una solicitud HTTP GET a la API de JSONPlaceholder utilizando fetch y almacenamos la respuesta en la constante respuesta. A continuaci贸n, utilizamos await nuevamente para convertir la respuesta en formato JSON utilizando el m茅todo .json() y almacenamos los datos en la constante datos. Finalmente, imprimimos los datos en la consola utilizando console.log(). 

Tambien utilizamos un bloque try...catch para manejar cualquier error que pueda ocurrir durante la solicitud. Si ocurre alg煤n error, se imprimir谩 un mensaje de error en la consola utilizando console.error(). Observe c贸mo el c贸digo con async y await es m谩s simple y f谩cil de leer que el c贸digo con promesas anidadas. Adem谩s, con async y await, no necesitamos encadenar m煤ltiples llamadas de devoluci贸n de llamada o promesas, lo que hace que nuestro c贸digo sea m谩s legible y f谩cil de mantener. 

Es importante tener en cuenta que await solo puede ser utilizado dentro de una funci贸n async, de lo contrario, se generar谩 un error de sintaxis. 

Por lo tanto, async y await simplifican la manipulaci贸n de promesas en JavaScript al permitirnos escribir c贸digo as铆ncrono que parece s铆ncrono. Con async podemos declarar funciones as铆ncronas que devuelven promesas, y con await podemos esperar a que se resuelva una promesa antes de continuar con la ejecuci贸n del c贸digo.

Publicar un comentario

0 Comentarios