如何将moongoose方法中的错误处理回调函数导出到另一个.js文件中

时间:2018-01-14 05:18:20

标签: mongodb express mongoose callback

是否有任何方法将错误处理回调函数放在方法 find()
中 进入另一个名为modules.js的模块。我试图这样做,但唯一的问题是,一旦回调函数在另一个模块中res对象变得不可访问,因此我无法使用res.send方法。

app.get('/blogs/all',function(req,res,next){																	
	Blog.find({},function(err,result){
		if(err)
			res.send("some error");
		else
			res.send(result);
	});
});

1 个答案:

答案 0 :(得分:0)

是的,您可以使用closures轻松完成此操作。

现在我们要写一个简单的函数并将其保存在一个名为dbHandler的文件中来处理你的Db调用。

let dictionary = Dictionary(grouping: tablesArray, by: predicate)

现在在您的代码中使用此模块。

module.exports = function (res) {
  var response = res;
  return function(err,result){
    if(err)
        response.send('some error');
    else
        response.send(result);
  }
};

DBhandler返回一个函数,该函数充当数据库调用的回调函数,但由于关闭而可以访问响应。