No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripción 🔥

Aprende todo un fin de semana sin pagar una suscripción 🔥

Regístrate

Comienza en:

3D
15H
57M
1S

Información de todos los Pokemon

6/17
Recursos

Aportes 9

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Otra manera que intente probar fue usando map, tuve algunos problemas pero con Promise.all se puede hacer de igual manera:

const pokemonsArray = await Promise.all(
        response.results.map(async (pokemon) => {
          const pokemonDetails = await getPokemonDetailsByUrlApi(pokemon.url);
          return {
            id: pokemonDetails.id,
            name: pokemonDetails.name,
            type: pokemonDetails.types[0].type.name,
            order: pokemonDetails.order,
            imagen:
              pokemonDetails.sprites.other["official-artwork"].front_default,
          };
        })
      );

tuve un error bastante traumante ajajaja, en videos anteriores en pokedexNavegation, cambie el orden ,pokemon estaba de primero… asi que claro, la visualizacion era pokemon y no pokedex, no encontraba por que no me servia la consulta de api jajajaja es gracioso… y quizas alguien novato tambien le pase

first commit, jejejeje

Interesante ejercicio, hay algunos conceptos que hay que repasar.

podemos utilizar variables de entornos💚

Se puede unificar el archivo de la API para hacerlo mas reutilizable.

export async function callApi(url) {
  try {
    const response = await fetch(url);
    const result = await response.json();
    return result;
  } catch (error) {
    throw error;
  }
}

export async function getPokemonsApi() {
  const url = `${API_HOST}/pokemon?limit=20&offset=0`;
  return fetchApi(url);
}

export async function getPokemonDetailsByUrlApi(url) {
  return fetchApi(url);
}

Con Promise.all funciona mejor

  const getPokemons = async (filters) => {
    setData({ loading: false, data: [], error: null });

    //Intentamos obtener todos los pokemones usando el filtro especificado
    try {
      const response = await api.pokemons.getAllPokemons(filters);

      //Creamos una promesa para obtener los detalles de cada pokemon
      const pokemonResults = await Promise.all(
        response.results.map(async (pokemon) => {
          const getPokemonsDetails = await api.pokemons.getOnePokemon(
            pokemon.name
          );

          //Retornamos los detalles del pokemon en un objeto con los campos necesarios
          return {
            id: getPokemonsDetails.id,
            name: getPokemonsDetails.name,
            types: getPokemonsDetails.types[0],
            order: getPokemonsDetails.order,
            image: getPokemonsDetails.sprites.other.home.front_default,
          };
        })
      );

      //Actualizamos el estado con los datos obtenidos y cambiamos el loading a false para indicar que ya se completó la petición
      setData({ loading: false, data: pokemonResults });
    } catch (error) {
      //En caso de error mostramos el mensaje en la consola y actualizamos el estado con el error ocurrido
      console.error(error);
      setData({ loading: false, error });
    }
  };

Hola, no salgo de ahí. He revisado y comparado el código con el del profe pero, me sigue saliendo ese error y no puedo avanzar.
Ayuda porfa…: (

Hola buenas, tengo todo el codigo como muestra el profesor, pero me arroja error; no puede encontrar la variable url.