CursosEmpresasBlogLiveConfPrecios

Fetch

Clase 13 de 26 • Curso de Asincronismo con JavaScript

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    Lo que aprenderás en este curso

    Lo que aprenderás en este curso

    01:34 min
  • 2
    Qué es el asincronismo

    Qué es el asincronismo

    09:25 min
  • 3
    Event Loop

    Event Loop

    11:13 min
  • 4
    Iniciando a programar con JavaScript

    Iniciando a programar con JavaScript

    02:59 min

Callbacks

  • 5
    Configuración

    Configuración

    10:23 min
  • 6
    Qué son los Callbacks

    Qué son los Callbacks

    14:56 min
  • 7

    Playground: Ejecuta un callback con 2s de demora

  • 8
    XMLHTTPRequest

    XMLHTTPRequest

    15:03 min
  • 9
    Fetch data

    Fetch data

    17:44 min
  • 10
    Callback hell

    Callback hell

    06:56 min

Promesas

  • 11
    Qué son las promesas

    Qué son las promesas

    11:54 min
  • 12

    Playground: Crea una función de delay que soporte asincronismo

  • 13
    Fetch

    Fetch

    Viendo ahora
  • 14
    Fetch POST

    Fetch POST

    14:55 min

Async Await

  • 15
    Funciones asíncronas

    Funciones asíncronas

    10:07 min
  • 16
    Try and catch

    Try and catch

    11:51 min
  • 17

    Playground: Captura el error de una petición

  • 18
    ¿Cómo enfrentar los errores?

    ¿Cómo enfrentar los errores?

    03:42 min

Generadores

  • 19
    Generators

    Generators

    08:06 min

Proyecto CV

  • 20
    Proyecto del curso

    Proyecto del curso

    11:48 min
  • 21
    Consumiendo API

    Consumiendo API

    19:24 min
  • 22
    Desplegando el proyecto

    Desplegando el proyecto

    16:45 min
  • 23

    Playground: Crea una utilidad para hacer peticiones

Nunca pares de crear

  • 24
    Conclusión

    Conclusión

    03:09 min
  • 25
    ¿Qué camino tomar para seguir aprendiendo?

    ¿Qué camino tomar para seguir aprendiendo?

    04:12 min
  • 26

    Autoevaluación de Proyecto: Creación de Landing Page

    00:44 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Maria Gabriela Rodriguez Cuevas

        Maria Gabriela Rodriguez Cuevas

        student•
        hace 4 años

        💾 𝗖𝗹𝗮𝘀𝗲 #𝟭𝟭: 𝗙𝗲𝘁𝗰𝗵𝟭𝟭/𝟮𝟭 💾 . Por medio de ++Fetch++ se puede realizar peticiones HTTP asíncronas de JavaScript (JS) con promesas. La API Fetch proporciona una interfaz JS más cómoda para acceder y manipular; fetch() es un método global. . 🛠️ Para poder usar fetch, primero tenemos que instalarlo: .

        • Ir a la terminal e instalar fetch con: npm i node-fetch
        • Para poder compilar desde VSC, debemos registrar el modulo en package.json, abrimos el archivo y al final se agrega:
        "type": "module"
        • Importante agregar una coma (,) a la llave que cierra a “dependencies”.
        • En la ruta src/promise crear el archivo ++challenge.js++
        • En el archivo challenge.js inicialmente se debe importar lo que acabamos de instalar, agregando el código: import fetch from 'node-fetch';
        • Dado que la API es una constante, nunca va a cambiar, por convección se coloca en letras mayúsculas: const API = 'https://api.escuelajs.co/api/v1';
        • Ahora se crea la lógica con fetch, then y catch:
        import fetch from 'node-fetch'; const API = 'https://api.escuelajs.co/api/v1'; //función que va a recibir como argumento la url que queremos llamar y esto retornará el llamado de fecth: una promesa function fetchData(urlApi){ return fetch(urlApi); }; //el llamado fetchData(`${API}/products`) .then(response => response.json()) .then(products => { console.log(products); }) .then(() => { console.log('hola'); }) //se pueden anidar múltiples .then .catch(error => console.log(error));
        • Para correrlo dentro de la consola de VSC, se selecciona el código, se da click derecho y se le da a Run Code. En la salida (OUTPUT) si no arroja error, sale una lista larga de elementos del llamado a la API. .

        Continuando con la clase, para compilar el segundo ejemplo debemos comentar fetchData() para evitar problemas de compilación. . 🖊️ ++¿Cómo comentar en JavaScript?++ . En JS se comenta cada línea con doble slash // o se puede comentar todo un párrafo iniciando con slash + asterisco /* y finalizar con asterisco + slash */ . Pero para ahorrar tiempo se puede usar los shortcuts de VSC, se pueden ver y editar en File>Preferences>Keyboard Shortcuts o pulsando las teclas Ctrl + K Ctrl + S: .

        • Para comentar con shortcut, seleccionar el texto que se quiere comentar y presionar las teclas Ctrl + K luego las sueltas y presionas las teclas Ctrl + C
        • Para quitar los comentarios con shortcut, seleccionas el texto comentado, presionar las teclas Ctrl + K luego las sueltas y presionas las teclas Ctrl + U .

        ✏️ El código del segundo ejemplo queda:

        fetchData(`${API}/products`) .then(response => response.json()) //se hace la conversión a un objeto json .then(products => { console.log(products); return fetchData(`${API}/products/${products[0].id}`) // solo se quiere mostrar el primer elemento de la primera solicitud }) .then(response => response.json()) //se vuelve traer la data .then(product => { console.log(products.title); return fetchData(`${API}/categories/${product.category.id}`) //se quiere mostrar la categoria de un producto en particular }) .then(response => response.json()) .then(category => { console.log(category.name); }) .catch(err => console.log(err)) //detectar un error .finally(() => console.log('Finally')); //es opcional para mostrar que se terminó la solicitud

        .

        • Al correrlo con Run Code, la salida muestra una lista larga con la última palabra impresa Finally.
          Raúl Romero Sánchez

          Raúl Romero Sánchez

          student•
          hace 4 años

          En lo personal me sirven de mucho estos apuntes, gracias!!

          Emerson David Cabrera Salas

          Emerson David Cabrera Salas

          student•
          hace 4 años

          Tuviste un typo en el then del segundo llamado: en lugar de products, debe ir product (sin la "s"). De resto, genial tu aporte, como siempre. Gracias.

          .then(product => { console.log(products.title); return fetchData(`${API}/categories/${product.category.id}`)
        Alejandro Sebastian Dubon Estrada

        Alejandro Sebastian Dubon Estrada

        student•
        hace 4 años

        Desde la versión 18 de Node.js se puede utilizar fetch de manera nativa.

          Juan David Reyes

          Juan David Reyes

          student•
          hace 4 años

          Se me hizo raro instalarlo por que ya hacia rato lo usaba sin instalar nada XD, gracias bro

          Federico Ivan Llano

          Federico Ivan Llano

          student•
          hace 3 años

          Eso estaba pensando y me parecia raro

        Marco Palacios Orihuela

        Marco Palacios Orihuela

        student•
        hace 4 años

        Me pareció más fácil usar las promises que las callbacks, pero la pregunta es cuando uso uno y cuando uso el otro. 🤔

          Lucas Aristizábal

          Lucas Aristizábal

          student•
          hace 4 años

          los callbacks es una forma viejita, para ser mas entendible el código, tú decides cuál eliges si callbacks o promises. los callbacks se pueden cuando solo vas a hacer máximo 3 llamados a una API, sino a eso le llamaríamos callback hell. las promesas vinieron para eso, para evitar el callback hell y hacer más llamadas a una API y hacer nuestro código mas simple.

          Catriel Perez

          Catriel Perez

          student•
          hace 4 años

          Todas son herramientas con sus pros y contras. pero creo que si necesitas enlazar pocas funciones te sirven los callback. para pedidos a una API ya hay herramientas mas modernas que lo hacen mas "aburrido" ;)

        Juan Ramirez

        Juan Ramirez

        student•
        hace 4 años

        ⭐ Fetch:

        Nos permite realizar peticiones HTTP asíncronas utilizando promesas y de forma que el código sea un poco más sencillo y menos verboso.

        Básicamente llamamos a Fetch y le pasamos como parámetro la URL de la petición.

        const request = fetch(API);

        Fetch devolvera una promesa, la cual le podremos aplicar los métodos then y catch

        fetch(API) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.log(err));

        Se pueden anidar multiples then para hacer lógicas consecuentes.

        Nicolás Leal

        Nicolás Leal

        student•
        hace 4 años

        Todo es color de rosa cunado comprendes todo maldita sea😄!!

        .

        Aunque tengo una duda,

        • Como podria usar este tipo de conocimiento en mi proyecto?
        • Osea para que sirve todo esto?
        • En que lo uso, por ejemplo en mi web page que lo hara ver mas chido?
          Brandon Vizcarra

          Brandon Vizcarra

          student•
          hace 4 años

          Literalmente puedes hacer fetch de la data de cualquier API (siempre y cuando tengas autorización) para mostrar la info en tu página web Ejemplo: Puedes hacer fetch de la data de una API de clima y mostrarlo en tu pagina como valor agregado

          Nicolás Leal

          Nicolás Leal

          student•
          hace 4 años

          ohh okay gracias Brandon.

        Cesar Cordova Contreras

        Cesar Cordova Contreras

        student•
        hace 4 años

        En las notas de un compañero del curso pasado comentó sobre una librería llamada axios que nos ayudaba a hacer las peticiones de una manera más sencilla me anime a intentarlo a hacer el codigo con esa librería y el resultado fue este se redujo mucho el codigo :

        import axios from 'axios'; const API = 'https://api.escuelajs.co/api/v1'; axios.get(`${API}/products`) .then((products) => { console.log(products.data[0]); return axios.get(`${API}/products/${products.data[0].id}`); }) .then((product) => { console.log(product.data.title); console.log(product.data.price); return axios.get(`${API}/categories/${product.data.category.id}`); }) .then((category) => console.log(category.data.name)) .catch((err) => console.error(err));

        por si a alguien le interesa solo utiliza npm i axios y listo ya lo puedes utilizar aquí dejo documentacion recuerden que antes de correr tenemos que caminar para utilizar estos frameworks y saber que esta pasando tenemos que estudiar muy bien las bases para dominar estas ayudas.

          Jonathan Jesús Martínez Rodríguez

          Jonathan Jesús Martínez Rodríguez

          student•
          hace 4 años

          Excelente ejemplo de uso con axios. Me ha servido mucho, es más comprensible y limpio el código. Muy buen aporte!

          German Medina

          German Medina

          student•
          hace 4 años

          Pregunta un poco estúpida capas. Pero como se llegan a estas APIs?

        Max Andy Diaz Neyra

        Max Andy Diaz Neyra

        student•
        hace 3 años

        Aqui les traigo una forma de escribir la funcion fetchData para no tener que escribir en cada peticion la conversion a formato json

        import fetch from "node-fetch"; const API = 'https://api.escuelajs.co/api/v1'; //función que va a recibir como argumento la url que queremos llamar y esto retornará el llamado de fecth: una promesa function fetchData(urlApi){ return fetch(urlApi).then(response => response.json()); }; fetchData(`${API}/products`) .then(products =>{ console.log(products[0]); return fetchData(`${API}/products/${products[0].id}`) }) .then(product=>{ console.info(product.title) return fetchData(`${API}/categories/${product?.category?.id}`) }) .then(category=>{ console.info(category.name) }) .catch(err=>{ console.error(err)})
        Yefreilee Danny Samuel Parra

        Yefreilee Danny Samuel Parra

        student•
        hace 4 años

        Para el que todavía no lo sepa, para comentar todo lo seleccionado en VSC, solo tienes que seleccionar lo que quieres comentar, y luego pulsar CTRL+K, seguido de CTRL+C, espero les sirva, saludos!

          Julian Ward

          Julian Ward

          student•
          hace 4 años

          Para "descomentarlo" ctrl + U

        Gutierrez Diego

        Gutierrez Diego

        student•
        hace 3 años

        Quiero darle la duda al profesor en cuanto a su forma de llevar el curso, para muchos de seguro es mucho más fácil de entender y obviamente no es solo quedarse con este curso, pero creo que sería mucho más fácil para a quellos que se nos dificulta, que hiciera un ejemplo real, es decir, tiene una web x ( y que podamos verla) y va a traer de la API x productos y la va a mostrar en dicha web pero que sea visible lo que está trayendo. Monse si me explico! Llevo todo el curso tratando de entender y me cuesta.

          Agustin Javier Alvarez Yudica

          Agustin Javier Alvarez Yudica

          student•
          hace 3 años

          Compañero, a mi tambien se me dificultó al principio. Pero al final del curso aplicamos de manera practica los conceptos vistos. Paciencia!

        Paul Martin Vargas Portugal

        Paul Martin Vargas Portugal

        student•
        hace 4 años
        import fetch from "node-fetch"; const API = 'https://api.escuelajs.co/api/v1'; function fetchData(urlApi){ return fetch(urlApi); }; /*fetchData (`${API}/products`) .then(response => response.json()) .then(products => { console.log(products); }) .catch(error => console.log(error))*/ fetchData(`${API}/products`) .then(response => response.json()) .then(products=> { console.log(products); return fetchData (`${API}/products/${products[0].id}`) }) .then(response => response.json()) .then(product => { console.log(product.title) return fetchData (`${API}/categories/${product.category.id}`) }) .then(response => response.json()) .then(category => { console.log(category.name); }) .catch(err => console.log(err)) .finally (()=> console.log('Finally'))
        Miguel Enrique Velásquez Millán

        Miguel Enrique Velásquez Millán

        student•
        hace 4 años

        ¿En vez de crear una función ++fetchData++ no podríamos usar directamente el ++fetch++ que importamos de node-fetch? 🤔. · O sea, en vez de hacer:

        function fetchData(urlApi){ return fetch(urlApi) } fetchData(`${API}/products`)

        · ¿No podríamos hacer directamente?

        fetch(`${API}/products`)
          Emmanuel Ovares

          Emmanuel Ovares

          student•
          hace 4 años

          Justamente eso me estaba preguntando. No encuentro la utilidad de llamar a fetch por medio de una función.

          Alejandra Sarahí Monroy Vélazquez

          Alejandra Sarahí Monroy Vélazquez

          student•
          hace 4 años

          Concuerdo con ustedes compañeros, tampoco le veo una finalidad, pero pongo mi comentario por si alguien del Team Platzi nos soluciona esta duda :)

        David Jurado Benito

        David Jurado Benito

        student•
        hace 3 años

        Vengo haciendo toda la ruta sin ningún problema y este curso deja mucho que desear. No explica la mitad de los conceptos que utiliza. Muy mal...

          Esteban Chica

          Esteban Chica

          student•
          hace 3 años

          Terrible curso la verdad. Debemos entenderlo pero me he tenido que apoyar en videos de youtube en casa clase, y he aprendido más de los cometnarios de la comunidad que de las clases en si.

        Diego Gabriel Marquez

        Diego Gabriel Marquez

        student•
        hace 4 años

        Me dice el siguiente error al ejecutar el codigo, ya instale el node-fetch

        /home/diego/Javascript/4. Asincronismo/src/promise/tempCodeRunnerFile.js:1 import fetch from 'node-fetch'; ^^^^^
          John Fernando Monroy Baracaldo

          John Fernando Monroy Baracaldo

          student•
          hace 4 años

          Hola a mi me paso lo mismo y en mi caso era la version de Node la actualice a la v16.15.1 la version estable. 😁🖖🏻

          Deniss Bonilla Paredes

          Deniss Bonilla Paredes

          student•
          hace 4 años

          hola @johnfmonroybpro ¿cómo le hiciste para actualizar la versión de Node? ¿desinstalaste tu versión de Node.js que ya tenías? Yo estoy en Windows 10 y eso WSL 20.04

        Ricardo Ayala Montes

        Ricardo Ayala Montes

        student•
        hace 3 años

        Si no estas muy familiarizado con arrow function ve el primer then

        fetchData(`${API}/products`) .then(function (response) { console.log("ejemplo de más validaciones"); return response.json(); // regresa el primer llamado }) .then((products) => { //console.log(products); return fetchData(`${API}/products/${products[0].id}`); // se lanza el fetch para solicitar solo un producto }) .then((response) => response.json()) //respuesta del segundo llamado .then((product) => { console.log(product); //trae el poducto return fetchData(`${API}/categoriess/${product.category.id}`); // se lanza el fetch para obtene el id de la categoria del unico producto }) .then((response) => response.json()) // respuesta del tercer llamado .then((category) => { console.log(category); //trae la categoria console.log(category.name); // imprime la categoria del producto }) .catch((error) => console.error("Error " + error)) // si existe error .finally(() => console.log("Finally")); // finally
        Ricardo Zamudio Carbajal

        Ricardo Zamudio Carbajal

        student•
        hace 4 años

        Tengo una pregunta comunidad, gracias!

        ¿Son equivalentes las dos expresiones siguientes?

        .then(response => response.json())
        .then((response) => { response.json() })
          Miguel Enrique Velásquez Millán

          Miguel Enrique Velásquez Millán

          student•
          hace 4 años

          Si no estoy mal, sip, son equivalentes. · De todas formas siempre puedes confirmarlo intentando ejecutar el código visto en la clase cambiando una expresión por la otra y ver si todo sigue funcionando correctamente, je je. Pero en teoría, sí, son equivalentes.

          Jonathan Forero

          Jonathan Forero

          student•
          hace 3 años

          En tu segundo segmento de código sería necesaria la palabra reservada return.

          .then(response => response.json())
          .then((response) => { return response.json(); })
        John Byron Alzate Hernández

        John Byron Alzate Hernández

        student•
        hace 3 años

        Recuerden que para ahorrarse el paso del package.json, pueden simplemente renombrar el archivo como Challenge.mjs

        de esa forma la m transformará el archivo js en módulo.

        Cristian Marchese

        Cristian Marchese

        student•
        hace 4 años

        Hasta el minuto 6 estaba totalmente perdido. Podría haber arrancado diciendo que fetch ya es una promesa por defecto, y así poder ir siguiendo mejor el video.

        Felix Torres Javier Antonio

        Felix Torres Javier Antonio

        student•
        hace 3 años

        Les dejo el link de la API, lo escribí mal dos veces

        import fetch from 'node-fetch'; const API = 'https://api.escuelajs.co/api/v1';
        Woldev S.A.S

        Woldev S.A.S

        student•
        hace 3 años

        En lugar de añadir tu módulo a tu package.json, puedes simplemente cambiar el formato de tu archivo .js por .msj y ya el intérprete de JavaScript lo tratará como un módulo.

        Jorge Enríquez

        Jorge Enríquez

        student•
        hace 3 años

        Colbal Hell