
Adrián Castillo
Preguntaconst response = await fetch(‘https://yts.mx/api/v2/list_movies.json?genere=action’)
const data = await response.json()
Alguien me podría explicar de manera mas detalla que hace la segunda linea que Leonidas coloca en el ejemplo. Exactamente no entiendo porque debe colocar nuevamente “await”.
Gracias

Jorge Cruz Perez
Eleazar, pero la segunda llamada también genera una promesa, al hacerlos estas obligado a esperarla, por eso el await, saludos :)

Eleazar Carreón Álvarez
En la constante data se almacenara toda tu lista de peliculas, anterior mente solo se guardo la respuesta pero necesitamos los datos limpios para eso usamos .json() para que nos de lo que relamnete queremos los datos. Porque usa await lo hace por comodidad no ejecutara la siguiente linea de código hasta que reciba una respuesta.
Eso quiere decir que si el programa esta leyendo la linea:
const response = await fetch(‘https://yts.mx/api/v2/list_movies.json?genere=action’)
No ejecutara las siguientes lineas hasta que response tenga una respuesta. Esto solo funciona con funciones asincronas o promesas.
Pero en este caso podrías evitar escribir ese segundo await, ya que esa variable data esta dependiendo de la variabla de arriba response Pues, entonces data tendrá un valor hasta que tenga una respuesta response.
const getCharacters = async () => { try { const response = await fetch('https://rickandmortyapi.com/api/character/'); const data = response.json(); // le quite await y funcionará return data; } catch (error) { console.log(error); } }; getCharacters().then((datos) => console.log(datos));
La recomendación es a tu gusto. Yo si dejaría el await pero cada quien. Ojo, si esa variable dependiera de otra funcion asincrona diferente si tendrías que dejarlo.