`
if (pointsComplete) { // for (let i = 0; i < pointsComplete.length; i++) { for await (let x of pointsComplete) { if (x.city !== "") { fetch( `https://singlesearch.alk.com/na/api/search?&query=${x.city} , ${x.state}&maxResults=1`, { method: "GET", headers: { "Content-Type": "application/json", Authorization: trimble_key, }, } ) .then((response) => response.json()) .then((data) => { pointsCoords.push({ Lat: data.Locations[0].Coords.Lat, Long: data.Locations[0].Coords.Lon, position: parseInt(x.position), }); }) .finally(() => { setPointsCoordsArray(pointsCoords); }); } } }
Esto funcionó para mí ..
if (pointsComplete) { let promises = []; for (let x of pointsComplete) { if (x.city !== "") { promises.push( fetch( `https://singlesearch.alk.com/na/api/search?&query=${x.city} , ${x.state}&maxResults=1`, { method: "GET", headers: { "Content-Type": "application/json", Authorization: trimble_key, }, } ) .then((response) => response.json()) .then((data) => { pointsCoords.push({ Lat: data.Locations[0].Coords.Lat, Long: data.Locations[0].Coords.Lon, position: parseInt(x.position), }); }) ); } } Promise.all(promises).then((data) => { setPointsCoordsArray(pointsCoords); console.log("______________"); }); }