javascript - 发送多封电子邮件时显示进度
问题描述
我正在从我的 node.js 服务器发送多封电子邮件,我想在前端显示已发送多少邮件的进度。
我编写了仅在发送每封电子邮件后才发送响应的代码,但是我需要通知前端有关进度。据我所知,我无法在单个 http 请求上发送多个响应,所以我有点迷失在这里。
我的电子邮件发送请求处理程序:
const send = async (req, res) => {
//parsing request body
const {user, recievers, subject, text} = req.body;
//Getting sender credentials from db
const user = await UserSettings.findOne({ user }, 'MAIL');
//creating nodemailer transporter
const transporter = nodemailer.createTransport({
service: user.MAIL.SERVICE,
auth: {
user: user.MAIL.USER,
pass: user.MAIL.PASSWORD,
},
});
//sending email to every reciever
recievers.forEach(reciever=> {
const mailOptions = {
from: user.MAIL.USER,
to: reciever,
subject,
text
};
return transporter.sendMail(mailOptions, (error, info) => {
if (!error) {
console.log(`Email sent: ${info.response}`);
} else {
console.log(error);
}
});
});
return res.sendStatus(204);
};
解决方案
推荐阅读
- jsp - checkInterval 和 modifyTestInterval 有什么区别?
- wordpress - Wordpress 不发送带有数据的 POST 请求
- pandas - 使用 ipysheet,如何调整索引列的列宽?
- r - 安装开发工具的问题
- python - 激活虚拟环境后使用 Python 2.7.10 而不是 Python 3.7.6 的 VS 代码
- spring-cloud - 是我还是 DynamoDb Streams 真的缺乏?
- php - WooCommerce:更改多个产品的添加到购物车按钮文本,并重定向到结帐
- html - 如何垂直居中 content inside an
- python - 为什么我不能用这个 Python 理解去除空格?
- google-apps-script - 当我删除创建它们的用户时,脚本触发器会发生什么?