【发布时间】:2015-04-21 17:57:44
【问题描述】:
我正在使用 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,我无法返回err 和data。那么我应该返回什么可以在返回数据时正确通知我错误?也许我可以采用并坚持一些标准:
{
error: null,
data: { id: 1, animal: 'cow' },
}
不过,在我这样做之前,我想确保我没有遗漏一些公认的最佳实践。
【问题讨论】: