我的Node / Express项目中有以下代码
exports.getProductById = function(req, res){
db.get('product', req.params.id).then(function(res2){
res.render('product/get', {title:'Product', product:res2.body, categories: db.categories});
})
.fail(function (err) {
res.redirect('/');
})
}
这有效,但似乎可能会好很多,但是,我缺乏Javascript经验似乎是一个问题。我会想到这样的事情......
var callback = function(res2){
res.render('product/get', {title:'Product', product:res2.body, categories: db.categories});
}
var errorCallback = function (err) {
res.redirect('/');
}
exports.getProductById = function(req, res){
db.get('product', req.params.id).then(callback)
.fail(errorCallback)
}
当然这里的问题是我不知道如何将res对象传递给Callback。处理这种情况的最佳模式是什么?
答案 0 :(得分:2)
嘿我为JavaScript编写了orchestrate.io客户端库,你的第一次运行实际上很好。我认为您可以更轻松地将req
和res
保留在getProductById
函数中。如果您希望避免混乱,可以编写其他函数来处理数据,格式化等,并将这些更改返回getProductById
。这样可以更容易地跟踪正在发生的事情。