In pratica quello che vorrei fare è prendere i dati ottenuti tramite una fetch request, looppare sui dati con un forEach e poi memorizzare il risultato in una variabile globale.
codice:const url = '...API_URL...'; let users = []; try { fetch(url, { method: 'GET' }) .then(res => { if (res.status !== 200) { throw new Error(res.statusText); return; } return res.json(); }) .then(data => { data.data.forEach(user => { let userData = { firstName: user.first_name, lastName: user.last_name }; users.push(userData); }) }) } catch (error) { throw new Error(error); }codice:const url = '...API_URL...'; let users = []; function getSingleUserData(userdata) { userdata.data.forEach(user => { let userData = { firstName: user.first_name, firstName: user.first_name }; users.push(userData); }); } async function getUsersData() { const res = await fetch(url, { method: 'GET' }); const data = await res.json(); getSingleUserData(data); } getUsersData();
So che l'API fetch è asincrona e ha bisogno di un po' di tempo per fare il suo lavoro, quindi in entrambi i casi se faccio un console.log() della variabile users quello che ottengo è un array vuoto perché la fetch request è ancora in lavorazione. La mia domanda è: come posso aspettare che la fetch request sia terminata e poi memorizzare i dati nella variabile globale?![]()


Rispondi quotando
