No me queda claro porque se usa await para const data = await response.json()

Pregunta de la clase:
Promesas
Tomas Matus

Tomas Matus

Pregunta
studenthace 5 años

No me queda claro porque se usa await para const data = await response.json()

4 respuestas
para escribir tu comentario
    Ramdhei López Arcila

    Ramdhei López Arcila

    studenthace 5 años

    Por lo que el método

    .json()
    devuelve una promesa, entonces ponemos
    await
    para esperar a que se resuelva.

    Manuel Alejandro Blanco Lamas

    Manuel Alejandro Blanco Lamas

    studenthace 5 años

    Hola Tomas, la razon de usar

    .json()
    es que se debe leer y parsear la respuesta para que sea legible/utilizable por nosotros, el metodo
    .json()
    devuelve una promesa que convierte ese resultado (cuando sea dicha promesa se resuelva), en un objeto de javascript (ya sea un objeto {}, array [], o un string '').

    El async/await es lo que se conoce como syntactic sugar, que significa esto. Que nos abstrae muchos procedimientos que tendriamos que hacer por ejemplo con estilo de promesas con

    new Promise().then()
    o el antiguo methodo de
    XHR
    (Al final fetch es un API encima de todo este metodo de javascript, que hace mas facil trabajar con API externas de la web).

    Async nos define una funcion como una promesa (sin tener que escribir

    return new Promise()
    ), y el keyword
    await
    , nos ayuda a mantener un estado interno de espera (esto viene construido dentro del API de promesas de async/await), y darnos un ok con la respuesta de la consulta cuando todo se resolvio, o un error cuando la consulta falla.

    Espero te sea de ayuda.

    Luis Lira

    Luis Lira

    studenthace 5 años

    Es porque el método ".json" regresa una promesa. Esto es debido a que el método se ejecuta de manera asíncrona por el tipo de operación que está realizando, por eso se pone el await :)

    Paola Balasnoa

    Paola Balasnoa

    studenthace 5 años

    Hola, es porque response.json() también es una promesa entonces se usa el await para que el programa espere a que esa promesa se cumpla y no quede como pendiente. Te dejo enlace a un vídeo donde Leonidas Esteban muestra porque se usa el await ahí.

    Ojala te sea de utilidad 😊

Curso Profesional de JavaScript

Curso Profesional de JavaScript

Mejora tus habilidades en Javascript. Conoce Typescript y cómo puedes ocuparlo para mejorar el control de tus variables. Comprende conceptos avanzados que te permitan plantear mejores soluciones en tu código. Conoce las APIs del DOM y descubre cómo puedes organizar mejor tu código utilizando patrones de diseño.

Curso Profesional de JavaScript

Curso Profesional de JavaScript

Mejora tus habilidades en Javascript. Conoce Typescript y cómo puedes ocuparlo para mejorar el control de tus variables. Comprende conceptos avanzados que te permitan plantear mejores soluciones en tu código. Conoce las APIs del DOM y descubre cómo puedes organizar mejor tu código utilizando patrones de diseño.