Koa - 良率误差处理的最佳实践

时间:2015-04-21 17:57:44

标签: koa io.js

我在Koa.js中弄脏手,并且正在寻找有关发电机返回错误处理的最佳做法(如果有的话)。请采取以下措施:

var sql = require('./lib/sql');

app.use(function *(){
  var results = yield sql.query('select top 1 * from farm_animals;');
  this.body = results;
});

现在,我习惯的传统方法是:

sql.query('select top 1 * from farm_animals;', function(err, data){
  if (!err) {
    // return data
  }
});

现在我已将sql.query转换为Promise,我无法返回errdata。那么我应该返回哪些内容可以在返回数据时正确告知我错误?也许我可以采纳并坚持一些标准:

{
  error: null,
  data: { id: 1, animal: 'cow' },
}

在我这样做之前,我想确保没有一些我错过的最佳实践。

1 个答案:

答案 0 :(得分:4)

您可以使用try / catch块。

有关详细信息,请参阅以下答案: Error handling with promises in Koa