Bonjour,
Je souhaite via les fonctions firebase, récupérer une liste de commandes puis pour chaque commande récupérer une valeur qui existe dans un autre noeud de ma base de donnée firebase.
Pour cela je fais un appel pour récupérer mon noeud "pathOrders" puis je boucle sur chaque "order" pour récupérer une valeur (user_firstname) qui se trouve dans un autre noeud, mais j'ai un warning "avoid nesting promises".
Je me doute car l'appel db.ref(pathUserName).once('value' ... est asynchrone. Comment faire pour attendre que cet appel asynchrone se termine ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
return db.ref(pathOrders).once('value').then(snapshot => {
 
        snapshot.forEach(orderSnapshot => {
            var order = orderSnapshot.val();
 
            // Get the user id from order
            var user_id = order['user_id'];
            let pathUserName = String(pathUsers+user_id+'/user_firstname');
 
            // Retrieve the user firstname
            return db.ref(pathUserName).once('value').then(user_firstname => { // WARNING ICI
                return user_firstname;
            });
// ICI JE VOUDRAIS MON OBJET ORDER REMPLIS AVEC MA DONNÉE user_firstname
        });
    });
En vous remerciant par avance !