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 ?
En vous remerciant par avance !
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 }); });
Partager