The function gets resolved on its own and no data is returned from the function but null. Can anyone solve this for me please?
print is happening like below :
- [ RowDataPacket { payment_id: 'PAYID-MDRPLBY9LS10853614735924' } ]
- data not 000000
- data not 1111111
- promise2
- Get Payment Response
- Payment Object
but it should be :
- [ RowDataPacket { payment_id: 'PAYID-MDRPLBY9LS10853614735924' } ]
- data not 000000
- data not 1111111
- Get Payment Response
- Payment Object
- promise2
async function func(req, res) {
  return new Promise((resolve, reject) => {
    let email_id = req.body.email_id;
    let arr = [];
    let ctr = 0;
    sql_get_orderid =
      "Select payment_id from paypal.execute_order where email_id=?";
    db.query(sql_get_orderid, [email_id]).then(function (data) {
      console.log(data);
      if (data.length != 0) {
        console.log("data not 000000");
        data.forEach((x) => {
          console.log("data not 1111111");
          var paymentId = x.payment_id;
          paypal.payment.get(paymentId, function (error, payment) {
            if (error) {
              console.log(error);
              reject({ auth: true, message: "Error on the Server" });
            } else {
              console.log("Get Payment Response");
              console.log(JSON.stringify(payment));
              arr[ctr] = payment;
              ctr = ctr + 1;
              // resolve(payment);
              // if(ctr==data.length)
            }
          });
        });
        resolve(arr);
      }
    });
  });
}
router.post(
  "/get_all_orders",
  VerifyToken.Token_Verification,
  async (req, res) => {
    let arr = await func(req, res);
    console.log("promise2");
    res.send({ data: arr });
  }
); 
    