Koa - 产量错误处理的最佳实践

标签 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' },
}

但是,在执行此操作之前,我想确保没有遗漏一些公认的最佳实践。

最佳答案

您可以使用 try/catch block 。

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

关于Koa - 产量错误处理的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29779773/

相关文章:

c++ - 如何从 C++ 调用 javascript 回调

javascript - 使用 koa.js + axios 获取错误消息

mysql - 无法理解 koa 和 nodejs 中 promise 的返回

node.js - Koa 上下文中协程和生成器的区别?

node.js - "http-proxy"和 "request"之间有什么区别?

node.js - 编写一个 io.js 兼容的 npm 模块

graphql - 如何在 GraphQL 中设置 http 状态码

javascript - 丢失从共同包装函数传递到另一个函数的参数

javascript - 如何在不维护引用的情况下在对象上使用 ES6 HashMap (在 Java 哈希码中)

javascript - 与 Bluebird 一起 Promising 已经基于 Promise 的库