Estoy tratando de usar PokeAPI con JS.
Puedo obtener información de Pokémon con éxito y mostrarla, pero no en el orden correcto.
Usé un ciclo forEach y me gustaría esperar hasta que agregue el primer Pokeman y luego agregue el segundo...
Descubrí await y traté de usarlo pero no puedo hacerlo. ¿Puede alguien ayudarme por favor?
Aquí está mi código JS:
var url = 'https://pokeapi.co/api/v2/pokemon/'; fetch(url) .then(function(response) { return response.json(); }) .then(function(response) { response.results.forEach(element => { var url = 'https://pokeapi.co/api/v2/pokemon/' + element.name; fetch(url) .then(function(response) { return response.json(); }) .then(function(response) { addPokemon(response.name, response.sprites.front_default, response.types[0].type.name, response.height, response.weight); }) }); })Puede usar el bucle 'for' en lugar de forEach.
for (let i = 0; i < length; i++) { const poke = await fetch(...); }Promise.all(response.results.map(...)).then(
Parece que está usando Promises pero no la sintaxis async/await.
Puede usar un forEach con async await, ya que el código se puede escribir de una manera que "parece" sincrónico.
En este momento, solo está ejecutando varias Promesas una tras otra dentro del bucle forEach. Probablemente encadenaría las promesas juntas y luego esperaría Promise.all() para hacer algo útil después de que se hayan cumplido.