我正在为课程管理构建一个管理Web应用程序。我有一个mongodb及其所有校友,他们的电子邮件和他们的注册ID。我想将ID发送给他们的邮件。我有一个html模板,然后使用fs.readfile和.replace()函数将占位符替换为我想发送的真实信息。
var dateForCalculation = new Date();
var prevSunday = new Date(dateForCalculation.setDate(dateForCalculation.getDate()-dateForCalculation.getDay())).toISOString();
var nextSunday = new Date(dateForCalculation.setDate(dateForCalculation.getDate()+7)).toISOString();
console.log(prevSunday);
console.log(nextSunday);
问题是我发送了8次相同的邮件。我正确接收了4次,我没有身体收到了4次。
答案 0 :(得分:0)
调用fs.readFile
下方的代码未作为该函数的回调的一部分提供。基本上,该文件读出的被踢掉和代码的其余部分开始执行时,导致在比赛创建html_template
之前被发送的电子邮件。
两种解决方案:
fs.readFileSync
(同步等效项)。 此外,由于您正在使用异步/等待,因此您也可以let data = await fs.readFile("path/to/file");