Quiero acceder a los tipos de Pokémon en el archivo json.
Sin embargo, parece que solo puedo recuperar el nombre y la URL, ¿alguna idea de qué estoy haciendo mal?
const baseUrl = 'https://pokeapi.co/api/v2/pokemon/?limit=3000' try { fetch(baseUrl) .then(response => { const responseJson = response.json() return responseJson }) .then(data => { const pokemons = data.results pokemons.forEach(pokemon => { console.log(pokemon); }) }) .catch(error => { console.error(error) }) } catch (error) { console.error(error) }En realidad, así es como se hace la API.
Si desea obtener más valores sobre pokemons, debe realizar otra solicitud mediante la URL dada desde el primer resultado.
Esto se puede hacer usando otra llamada axios dentro del then
const baseUrl = 'https://pokeapi.co/api/v2/pokemon/?limit=1' try { fetch(baseUrl) .then(response => { const responseJson = response.json() return responseJson }) .then(async data => { const pokemons = data.results for (const pokemon of pokemons){ pokemon.data = await fetch(pokemon.url).then(res => res.json()) } console.log(pokemons) }) .catch(error => { console.error(error) }) } catch (error) { console.error(error) } Tenga en cuenta que la API es bastante lenta, por eso recomendaría usar la paginación en lugar del anuncio de limit=3000 que hizo.
Esto se puede hacer usando el parámetro de offset que es el comienzo de la paginación
Por ejemplo, ?offset=20&limit=20 obtendrá los 20 pokemons entre 20 y 40