处理编排的最佳模式.io查询

Best pattern for handling Orchestrate.io queries

本文关键字:模式 io 查询 最佳 处理      更新时间:2023-09-26

我在我的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对象传递给回调。处理这类场景的最佳模式是什么?

嘿,我写了编曲。io客户端库的JavaScript,你的第一次运行实际上是好的。我想你会发现将reqres保留在getProductById函数中更容易。如果您希望避免混乱,您可以编写额外的函数来处理数据、格式化数据等,并将这些更改返回给getProductById。这将使跟踪正在发生的事情更容易。