2015-04-21 43 views
0

我在Koa.js中弄脏了我的手,并且正在寻找发生器的返回错误处理(如果有的话)的最佳做法。看看下面:Koa - 收益率错误处理的最佳做法

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.queryPromise,我不能返回errdata 。那么,我应该返回什么,可以在返回数据时正确告知我错误?也许我可以采取并坚持一些标准:

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

我这样做之前但是,我要确保没有一些公认的,我很想念最佳实践。

回答