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 });
}
);