将ExpressJS视图ejs渲染保存为一个variables

我正在设置一个从Expressjs启动的确认邮件。 这个电子邮件模板是在html(现在ejs),我需要传递variables,所以我可以稍后保存在一个variables,并发送给nodemailer。

我试图做这样的事情成功:

var final_html = res.render('confirm', {variables: 'aasdad'}); 

NodeMailer代码:

 var mailOptions = { from: test@test.com, // sender address to: 'test@test.com', // list of receivers subject: 'Welcome '+req.body.name, // Subject line html: final_html }; 

怎么能做到这一点?

提前致谢!

PD:发布答案编号:

 var final_html = res.render('confirm', {url: 'aasdad'}, function(err, html) { if (err){ return err;} return html; }); 

只要传入一个callback作为第三个参数,它将被调用(err, final_html)

 res.render('confirm', {variables: 'aasdad'}, function(err, final_html) { if (err) throw err; // TODO: handle errors better var mailOptions = { from: 'test@test.com', // sender address to: 'test@test.com', // list of receivers subject: 'Welcome ' + req.body.name, // Subject line html: final_html }; // call node-mailer with `mailOptions` here ... });