Strongloop Loopback中的错误处理

时间:2017-09-18 16:29:55

标签: javascript node.js loopbackjs strongloop loopback

我知道回调和中间件next()函数之间的区别。

如果在Loopback中编写自定义远程方法,我可以轻松地在回调中发送错误,例如回调(错误,空),但是只要我在next()函数中发送错误,就会在远程挂钩或观察者中发送错误例如

var err = new Error('This is error'); next(err)

它总是说内部服务器错误,但它没有告诉我错误是什么。 为了查看错误,我必须登录到服务器并查看日志。 请告诉我如何在next()函数中发送错误作为响应,以便在前端我知道发生了什么错误。

2 个答案:

答案 0 :(得分:0)

也许使用中间件来挂钩:

app.use( function(err,req,res){
  res.json(err);
});

(这需要他定义的最后一个中间件......)

答案 1 :(得分:0)

基本上你可以用err和result定义回调。 例如在环回中,  如果我有一个模型调用“Action”,您可以使用json将err或结果发送到前端。

 app.get('/your/api/call', function (req, res, next) {
    var getTeam = function (cb) {
      app.models.Team.find({}, function (err, teams) {
        if (err) { 
          cb(err);
        } else { 
          cb(null, teams);
        }
      });
    };
    async.waterfall([
      getTeam
    ], function (err, team, role) {
      if (err){
res.send(err); //send error  to front end
} else {
 res.send(team); //send result  to front end
}

    });
  });

此方法也可以在根级别使用“app.use”功能。