小编Mic*_* D.的帖子

正确处理Mongoose的获取错误?

这是一个纯粹的最佳实践问题.我是Node和Mongoose的新手.我非常喜欢这项技术,并且一直在开发一个项目,为我正在构建的应用程序构建一个支持JSON的API.

我发现当我从数据库中获取对象时,我不断重复代码.例如:

Playlist.findById(req.params.id, function(err,playlist){
  if (err)
    return res.json({error: "Error fetching playlist"});
  else if (!playlist)
    return res.json({error: "Error finding the playlist"});

  //Actual code being performed on the playlist that I'm fetching
});
Run Code Online (Sandbox Code Playgroud)

函数调用顶部的错误处理很烦人,因为我必须为每次调用数据库重复该代码......或者我认为.

我想过使用像这样的回调:

var fetchCallback = function(err,objOrDoc,callback){
  //Handle the error messages
  callback(objOrDoc);
};
Run Code Online (Sandbox Code Playgroud)

但是,这种方法会搞乱我的顺序流,因为在执行fetch之前我必须定义回调函数.因此,如果我将大量数据库查询链接在一起,我将不得不以相反的顺序放置回调,这在清晰编码的角度来看远非理想.

我想知道是否有人遇到过这个问题并且有任何减少重复的最佳做法.

我也在使用快速框架,所以如果有一种有用的方法来处理它,我也有兴趣知道.

mongoose mongodb node.js express

7
推荐指数
1
解决办法
5083
查看次数

标签 统计

express ×1

mongodb ×1

mongoose ×1

node.js ×1