async function sellerSelection() {
let selectedSellerArray = [];
await orders.forEach(async (order) => {
let orderItems = await orderItemsObj.findMany({
where: { order_id: order.id, status: "created" },
});
console.log(orderItems.length, "order items");
orderItems.forEach(async (orderItem) => {
const sellerSelect = await _calculateHighProfitSeller(
order.id,
orderItem
);
selectedSellerArray.push(sellerSelect.seller_id);
});
});
setTimeout(() => {
console.log(selectedSellerArray, "selectedSellerArray");
}, 1000);
}
Hello everybody, I am learning nodejs and dont have a proper grasp of asynchronous stuff in it. So, in the above code if i dont use setTimeOut(), the _calculateHighProfitSeller() wont have returned values fast enough, but the code gets executed anyway so I get an empty anything. What I want to do is execute the code inside setTimeOut() only after _calculateHighProfitSeller() calls have returned all its values.