Koa - yield 错误处理的最佳实践
Koa - Best practice for yield error handling
我正在 Koa.js 中动手并正在寻找有关生成器的 returned 错误处理的最佳实践(如果有的话)。采取以下措施:
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
,我不能 return err
和 data
。那么,在 return 处理数据时,我应该 return 怎样正确地通知我错误?也许我可以采用并坚持一些标准:
{
error: null,
data: { id: 1, animal: 'cow' },
}
然而,在我这样做之前,我想确保没有遗漏一些公认的最佳实践。
您可以使用 try/catch 个方块。
查看以下答案了解更多详情:
Error handling with promises in Koa
我正在 Koa.js 中动手并正在寻找有关生成器的 returned 错误处理的最佳实践(如果有的话)。采取以下措施:
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
,我不能 return err
和 data
。那么,在 return 处理数据时,我应该 return 怎样正确地通知我错误?也许我可以采用并坚持一些标准:
{
error: null,
data: { id: 1, animal: 'cow' },
}
然而,在我这样做之前,我想确保没有遗漏一些公认的最佳实践。
您可以使用 try/catch 个方块。
查看以下答案了解更多详情: Error handling with promises in Koa