【发布时间】:2011-12-05 21:59:37
【问题描述】:
我正在使用 Node.JS 和 Express Web 框架,我的 res.render() 有问题
我有这个功能:
exports.init = function(){
return function(req, res, next) {
/* FORM CONTACT */
if (req.body.contact){
model.validateContact(function(e){
if (err) res.render('contacts', {'error': err})
else {
model.sendContact(function(err){
if (err)
res.render('contacts', {'error': err})
else
res.redirect('/success')
})
}
})
}
/* CONTACT */
res.render('contacts')
console.log('after')
}
}
这里我有一个问题,因为 init 函数中不存在 res.render(我指的是内部函数(validateCONtact 和 sendContact)中的 res.render,所以最后一个 res.render('contacts') 将始终被执行。
如果我呈现页面,为什么脚本会继续其进程?我怎么可能做 res.render() 不止一次?
谢谢
【问题讨论】: