I am writing data to firebase using a loop and async function. I am using promises to get the result of query and want to display success message when all of data is inserted. I can not figure out what I am doing wrong. I know it has a small bug. Can anyone help me?
CODE:
async function submitAttendance() {
var uploadPromises = [];
for (var j = 0; j < i; j++) {
uploadPromises.push(
new Promise((resolve, success) => {
var naid = "name" + j + "";
var na = document.getElementById(naid).innerHTML + "";
var stid = "status" + j + "";
var stat = document.getElementById(stid).value + "";
var uidid = "uid" + j;
var uidstu = document.getElementById(uidid).innerHTML + "";
var attinfo = {
student_Id: uidstu,
student_attendanceValue: stat,
student_class: clstd,
student_name: na
};
db.collection("Parent").doc(uidstu).collection("Attendance").doc(f).set(attinfo).then(function () {
console.log(attinfo);
});
})
)
}
await Promise.all(uploadPromises)
alert("Attendance Marked Successfully");
}