【发布时间】:2017-04-02 17:18:47
【问题描述】:
刚接触节点和异步,但仍在为概念苦苦挣扎。
尝试使用带有回调的 express/handlebars 渲染来迭代地构建一个包含数组内容的 html 正文。最终目标是发送包含大量电子邮件的响应,每封电子邮件都使用 view.hbs 单独呈现。
做到了这一点,但意识到它永远不会奏效。 res.render 无法在回调中将我的 html 变量传回,res.send 会在渲染完成之前运行???
function buildRes (req, res, email) {
var html = '';
Object.keys(email).forEach(function (i) {
res.render('emailPanel', {subject: email[i].subject, body: email[i].body},
function(err, renOut) {
if err throw err;
html=html+renOut;
}
)
})
res.send(html);
}
关于我应该如何解决这个问题的任何建议?
开始尝试使用把手 #each 助手进行迭代,但所有示例都显示了一个简单的列表,而在我的例子中,有多个数组参数要传递给渲染。
【问题讨论】:
标签: node.js express asynchronous callback