I have array of firestore document IDS. I need to convert below code to async/await. I usually use async/await for one document but now I need for loop. The last console.log(firestoreProducts) is empty.
function getFirestoreProducts(allSKUsNoDuplicates) {
//allSKUsNoDuplicates - array of document ids
let db = firebase.firestore();
var db_user = db.collection("users").doc(firebase.auth().currentUser.email);
var products = db_user.collection("products");
var firestoreProducts = []
//var products = db_user.collection("products").where("productSKU", "in", allSKUsNoDuplicates).orderBy("productSKU", "asc");// ups only 10 can be in array
allSKUsNoDuplicates.forEach(function (currentValue, index) {
//console.log(currentValue)
products.doc(currentValue)
.get()
.then(function (doc) {
if (doc.exists) {
//console.log("Document data:", doc.data().productSKU);
firestoreData = {
productSKU: doc.data().productSKU,
productBuyPriceNet: (doc.data().productBuyPriceNet) ? doc.data().productBuyPriceNet : 0
}
firestoreProducts.push(firestoreData);
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch(function (error) {
console.log("Error getting document:", error);
});
})
console.log(firestoreProducts)
}