Logo Studenta

AsyncAwai en react

¡Estudia con miles de materiales!

Vista previa del material en texto

Async/Awai en react 
 
Async/Await en React es una forma moderna y más legible de trabajar con código 
asíncrono y manejar tareas que pueden tomar tiempo en completarse, como solicitudes 
a APIs, lectura/escritura de archivos, entre otros. Async/Await es una característica de 
JavaScript introducida en ECMAScript 2017 (ES8) y se utiliza ampliamente en 
aplicaciones React para mejorar la claridad y la estructura del código asíncrono. 
 
Async/Await se basa en las Promesas (Promises) y permite escribir código asíncrono de 
manera similar a una función síncrona, lo que facilita su lectura y comprensión. En lugar 
de utilizar los métodos `then` y `catch` para manejar las Promesas, Async/Await utiliza 
las palabras clave `async` y `await`. 
 
A continuación, veamos cómo utilizar Async/Await en React con el ejemplo de una 
solicitud a una API utilizando la función `fetch`: 
 
*************************************************************** 
import React, { useState, useEffect } from 'react'; 
 
const MiComponente = () => { 
 const [datos, setDatos] = useState([]); 
 
 const fetchData = async () => { 
 try { 
 const response = await fetch('https://api.example.com/data'); 
 const data = await response.json(); 
 setDatos(data); 
 } catch (error) { 
 console.error('Error al obtener los datos:', error); 
 } 
 }; 
 
 useEffect(() => { 
 fetchData(); 
 }, []); 
 
 return ( 
 <div> 
 {datos.map(item => <p key={item.id}>{item.nombre}</p>)} 
 </div> 
 ); 
}; 
 
export default MiComponente; 
************************************************************ 
 
En este ejemplo, hemos creado una función `fetchData` con la palabra clave `async`, lo 
que la convierte en una función asíncrona. Dentro de esta función, utilizamos `await` 
antes de la llamada a `fetch` y `response.json()` para esperar a que se resuelvan las 
Promesas. De esta manera, la ejecución de la función se detiene temporalmente hasta 
que la Promesa se resuelva o se rechace. 
 
El uso de Async/Await en React (y en JavaScript en general) mejora la legibilidad del 
código asíncrono, evita el anidamiento excesivo de callbacks y facilita el manejo de 
errores. Es una forma más elegante y moderna de trabajar con código asíncrono en 
comparación con el uso tradicional de Promesas y callbacks, y se recomienda su uso 
siempre que sea posible.