I have a function like this:
generatedArray.forEach( item => {
const stocksRef = firebase.database().ref('clients');
const filteredObject = stocksRef.orderByChild('id').equalTo(item.inn);
filteredObject.once("value",snapshot => {
console.log("value", snapshot.val());
snapshot.forEach((child) => {
Object.assign(item, child.val());
console.log('kokoko', child.val())
});
console.log("After take snapshot from db", generatedArray);
});
item.deals.forEach( deal => {
const stocksRef = firebase.database().ref('list');
const filteredObject = stocksRef.orderByChild('isin').equalTo(deal.isin);
filteredObject.once("value",snapshot => {
console.log("value", snapshot.val());
snapshot.forEach((child) => {
Object.assign(deal, child.val());
console.log('kokoko', child.val())
});
console.log("After take snapshot from db", generatedArray);
});
})
})
It adds data from db to an generatedArray. When generatedArray looks like:
[
{
'inn': 'string',
'deals': [{...},{...}]
},
{
'inn': 'string',
'deals': [{...},{...}]
}
]
Everything works fine, but if generatedArray had a single object inside like this:
[
{
'inn': 'string',
'deals': [{...}]
}
]
forEach don't even starts, it shows no any console.logs Why does it happened?