Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #1

    Assegnare dati fetch request ad una variabile globale

    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?
    Ultima modifica di Utonto Tonto; 07-08-2021 a 10:18
    Se avete bisogno di una Web Page potete trovarmi qui: https://www.fiverr.com/s2/e6b3767f4c

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.