У меня есть этот код
function updateMonthly(puid) {
firebase.database().ref('partner').child(puid).once('value').then(async(snapshot) => {
partner = snapshot.val()
if(partner.hasOwnProperty('users')){
if(partner.users.hasOwnProperty('first')){
monthly = 0
first = partner.users.first;
Promise.all(
await first.map((key) => {
return firebase.database().ref('user').child(key).once('value').then(u => {
u = u.val()
if(u.pack.name != 'no pack'){
monthly = monthly + 10
}
})
})
).then(() => {console.log(monthly+" "+partner.uid)}).catch(error => console.log(error)) //output
}
}
});
}
function generatePayments() {
firebase.database().ref().child('partner').once('value').then(snapshot => {
snapshot.forEach((child) => {
partner = child.val();
updateMonthly(partner.uid);
})
}).catch(error => console.log(error))
}
Выход
-8,5 uz0Wfx5SZwRWdcjihBSPr0BO0wH2
-38,5 uz0Wfx5SZwRWdcjihBSPr0BO0wH2
-46,225 uz0Wfx5SZwRWdcjihBSPr0BO0wH2
-181,225 uz0Wfx5SZwRWdcjihBSPr0BO0wH2
1009 * Почему я получу один и тот же "partner.uid" четыре раза вместо того, чтобы получать все остальные uid?
Ожидаемый результат будет:
-8.5 uz0Wfx5SZwRWdcjihBSPr0xo0wH2
-38,5 pl0Wunlv3RWdcjihwHH0P0O0O000O0O000O000O000O000O000O000O000O000O0O000O000O000O00O00O000O00O000O0O000O00O00000O0O2O0O2O0022 46.225 gw0Wff5S3wRWdcjihBSPr0BO0wH2
-181.225 zd0Wfx5SZwRpOcjihBSPr3dBO0wH2