Tengo un código como este-
const studentsIds: any[] = []; if (xlData.length > 0) { xlData.forEach(async (student, id) => { const studentExist = await User.findOne({ email: student.email, }); if (studentExist) { let includesStudent = await Class.findOne({ student: { $in: [studentExist._id] }, }); if (!includesStudent) { studentsIds.push(studentExist._id); } } }); res.status(200).send({ ok: true, data: studentsIds, message: "class added successfully ", }); } else { res.status(404).send({ ok: false, message: "Oops there is a problem with excel file", }); }Si consuelo. registro el valor de los identificadores de estudiantes dentro de forEach, me da una matriz con valores que es mi expectativa, pero si trato de enviar los identificadores de estudiantes en respuesta, me está dando una matriz vacía. Sin embargo, si trato de establecer una función de tiempo de espera y leer los ID de los estudiantes fuera de cada uno, supongamos como 4000 ms, da la matriz correcta con valores. Simplemente, async await está creando el problema aquí. Creo que el código después de forEach se ejecuta primero y se está produciendo este problema. ¿Cuál podría ser la solución para enviar los ID de estudiantes correctos a la respuesta?