Estoy tratando de obtener información de la URL dada. Asigné la URL a una URL con nombre constante. Usé la API fetch para tomar la información de la fuente como formato JSON. No puedo controlar la información que viene. Aquí está mi código;
const fetch = require("cross-fetch"); const URL = "https://anapioficeandfire.com/api/books" // Important: Don't change the function name const getBooks = async () => { // Your code goes here const response = await fetch(`${URL}`) .then(res => res.json()) .then(data => console.log(data)); const books = await response.json(); return books; } getBooks().then(books => console.log(books)) Esta es la respuesta del código que escribí.
solo necesito el
{
nombre: "...",
número de páginas: "....",
liberado: "......",
},
{
nombre: "...",
número de páginas: "....",
liberado: "......",
},
....
Devuelve los valores que necesitas de la respuesta de la API. Aquí está cómo puedes hacerlo:
const url = "https://anapioficeandfire.com/api/books"; const callApi = async () => { const resp = await fetch(url); const finalRes = await resp.json(); return finalRes.map((res) => { return { name: res.name, numberOfPages: res.numberOfPages, released: res.released, }; }); }; (async () => console.log(await callApi()))();Conjunto de resultados de la consola del navegador:
Además, mientras espera que se cumpla la promesa, puede hacer .then() o usar await. Ambos resuelven el mismo propósito.