节点Jsreport语法错误:标识符'err'已经被声明

时间:2019-03-01 21:28:04

标签: node.js express ecmascript-6 promise jsreport

我正在尝试从html字符串创建pdf。在我的测试项目中,一切都很好。在实际交易中,我收到上述错误-SyntaxError:当我调用MailService.mailer()

时,已经声明了标识符'err'

我正在捕获并记录err,因为jsreport render函数返回了promise。

 const Jsreport = require("jsreport");

 function createJSReportPdf(reportString, report, type) {

   const reportProcess = Jsreport
           .render({
            template: {
            content: reportString,
            engine: "handlebars",
            recipe: "chrome-pdf"
    }
   }).then( (resp) => {

  return MailService.mailer(
    resp.content,
    "ServiceReport.pdf",
    report,
    type
   )
 });

  reportProcess.catch((err) => {
    console.error(err);
  });
 }

参数1是字符串,参数2是对象,参数3是字符串。错误是  在MailService.mailer()处,它是异步的,但是我不需要在这里捕获它,我可以在该函数中处理它,也不必关心它返回的内容。

任何人都知道导致此语法错误的原因是什么

干杯!

1 个答案:

答案 0 :(得分:0)

我发送电子邮件的地方

 try {
  await transporter.sendMail(mailOptions);
  mailSent = true;
  console.info("Emails sent @: " + Date.now());
} catch (err) {

const err = new Error('Mailer failure.');
console.log(err.stack);

}

几乎在我的脸上,只是在另一个文件中,这是星期五。...显然