const response = await fetch(‘<a href="https://yts.mx/api/v2/list_movies.json?genere=action">https://yts.mx/api/v2/list_movies.json?gener...

Pregunta de la clase:
Funciones asíncronas
Adrián Castillo

Adrián Castillo

Pregunta
studenthace 5 años

const 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

2 respuestas
para escribir tu comentario
    Jorge Cruz Perez

    Jorge Cruz Perez

    studenthace 5 años

    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

    Eleazar Carreón Álvarez

    studenthace 5 años

    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.

Curso de jQuery a JavaScript 2018

Curso de jQuery a JavaScript 2018

Aprende a pasar código de jQuery a JS. Crea páginas dinámicas y animaciones en muy poco tiempo. Optimiza tu código jQuery y programa scripts de forma fácil y rápida con Javascript.

Curso de jQuery a JavaScript 2018
Curso de jQuery a JavaScript 2018

Curso de jQuery a JavaScript 2018

Aprende a pasar código de jQuery a JS. Crea páginas dinámicas y animaciones en muy poco tiempo. Optimiza tu código jQuery y programa scripts de forma fácil y rápida con Javascript.