I try to make a list with products that I send to the client, but the res.send gets executed before the loop has finished.
Do you have any suggestions? Async/await doesn’t seem to work
Here is my code:
const Outfits = require("../models/Outfits");
const Products = require("../models/Products");
module.exports = (req, res) => {
Outfits.find({ outfitId: req.params.id }, async (error1, result) => {
if (error1) {
res.status(400).json({
status: "fail",
});
} else {
let productIds = result[0].productIds;
let productList = [];
await productIds.map((e) => {
Products.find({ id: e }, (error2, product) => {
if (error2) {
res.status(400).json({
status: "fail",
});
} else {
console.log(product);
productList.push(product);
}
});
});
console.log(productList);
res.status(200).json({
status: "success",
body: productList,
});
}
});
};
Thank you very much!