处理Orchestrate.io查询的最佳模式

时间:2014-05-04 21:43:08

标签: javascript node.js express

我的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。处理这种情况的最佳模式是什么?

1 个答案:

答案 0 :(得分:2)

嘿我为JavaScript编写了orchestrate.io客户端库,你的第一次运行实际上很好。我认为您可以更轻松地将reqres保留在getProductById函数中。如果您希望避免混乱,可以编写其他函数来处理数据,格式化等,并将这些更改返回getProductById。这样可以更容易地跟踪正在发生的事情。