I would like to know if this promise is ok or not. Because I am using await
inside of them.
Example 1:
new Promise(async (resolve, reject) => {
await fetch(url, postReq)
.then((data) => {
return data.json();
})
.then((res) => {
console.log(res);
resolve("Message sent successfully");
})
.catch((error) => {
console.log(error);
reject(error);
});
});
Example 2:
const sendEmail = async (reciever, data) => {
new Promise(async (resolve, reject) => {
console.log("Sending Email");
try {
// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
service: "gmail",
auth: {
user: process.env.EMAIL_ADDRESS,
pass: process.env.EMAIL_PASSWORD,
},
});
// send mail with defined transport object
let info = await transporter.sendMail({
from: '', // sender address
to: `${reciever}`, // list of receivers
subject: "", // Subject line
text: ``, // plain text body
html: ``, // html body
});
console.log("Message sent: %s", info.messageId);
resolve("Email Sent")
} catch (err) {
console.log(err);
reject(err);
}
});
};
If I don't use await
, I am not able to read info.messageId
because it's undefined.