node.js - 如何处理 beforeCreate 中的错误?

标签 node.js sails.js waterline

我正在尝试验证外键是否存在。如果外键有效,我只想创建一个对象。

我正在 beforeCreate 中查询对象,但是当我调用带有错误消息的回调时,错误未得到处理(回溯)并返回 500。

我想优雅地处理错误并返回 400(错误请求)状态代码。

  beforeCreate: function(values, next) {
    // Verify that the brand id is valid
    Brand.findOne(values.brand, function(err, brand){
      if (err || !brand){
        return next({"error": "Brand does not exist."});
      }
      return next();
    });
  }

最佳答案

我不确定,但如果你这样做会发生什么:

return next(new Error("Brand does not exist."));

关于node.js - 如何处理 beforeCreate 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29515631/

相关文章:

javascript - 为什么 .add() 不在列中插入值?

node.js - sails js 无法更改 Bootstrap 的超时加载钩子(Hook)

javascript - Promise 和异步函数 "borrowing"来自同时运行的 Promise 的变量

node.js - 无法在 NodeJS/expressJS 上设置签名的 SSL 证书

javascript - 如何在前端代码中检索服务器端设置的cookie?

javascript - Webpack 2 未解析 webpack.config.js 中的入口点

node.js - 如果定义了属性,则从 Waterline 中的模型获取结果

javascript - Client.query 未在 Node JS 中检索数据

node.js - 限制在 Sails.js 模型中设置字段

node.js - 导出模块值