I'm trying to pass arrEntree in my return, however it's inside a promise. How would I fix this issue? The function query iniaites a new promise but like everytime ArrEntree is printed empty, because it gets called before the promise is finished processing. How would I finish the promise then only call my return...? How would I solve this issue.
function query(statement, params, first) {
  return new Promise(function(resolve, reject) {
    connection.query(statement, (params || []), function(err, rows) {
      if (err) {
        console.log("err", err);
        if (err.code === "ETIMEDOUT") {
          connectToDb();
          return query(statement, params, first);
        }
        reject(err);
      } else {
        if (first) {
          resolve(rows[0]);
        } else {
          resolve(rows);
        }
      }
    });
  });
}
function sendPlanEmails(){
      if (plans.length === 0) {
        return true;
      }
      const orders = plans.map(plan=>{
        const arrEntree = []
        const planData = srcData.plans[plan.productId];
        const entrees = plan.entrees;
        const entreeID = Object.keys(plan.entrees);
        query('select * from entrees where entree_id in (' + entreeID.join(',') + ')')
          .then(function(results){
            results.forEach(function(element){
              entreeID.forEach(function(second_elem){
                if(element.entree_id==second_elem){
                  console.log('worked until here')
                  const quantity = plan.entrees[second_elem];
                  const name = element.entree;
                  arrEntree.push({name:name, quantity:quantity});
                }
              })
            })
          })
        return {
          days:plan.days.days,
          planDataTitle:planData.title,
          breakfast:plan.meals[0],
          lunch:plan.meals[1],
          dinner:plan.meals[2],
          entreeArry:arrEntree
        }; 
      });
      const template_mp = srcData.orderPage.mailchimp_template_mp || 'order_confirmation';
      return utils.sendMealPlanEmail(template_mp, {
          from: from,
          order: orders,
        });
    }
