我正在开发一个 Node 应用程序,并使用单独的模型层来构建它来组织我的代码。该模型有一个名为 getImages 的函数,它使用 Mongojs 模块从数据库中获取信息。问题是 getImages 在检索数据之前返回。我习惯于使用同步代码,所以我很难解决这个问题。我怀疑答案是以某种方式使用回调函数。有人可以展示它是如何工作的吗?或者,如果回调不是解决方案,那什么才是?
路由/index.js
exports.image = function(req, res) {
if (req.method == 'GET') {
var image = model.getImages();
return res.send(image);
}
}
模型/index.js
var getImages = function() {
var imagesCollection = db.collection('Images');
var images = imagesCollection.find(function(err, docs) {
return docs;
});
return images;
}
exports.getImages = getImages;
最佳答案
您需要为您的getImages
函数提供一个回调参数。如:
路由/index.js
exports.image = function(req, res) {
if (req.method == 'GET') {
model.getImages(function(err, images) {
return res.send(images);
});
}
}
模型/index.js
var getImages = function(callback) {
var imagesCollection = db.collection('Images');
imagesCollection.find(callback);
}
exports.getImages = getImages;
关于javascript - Node.js 应用模型层异步返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597301/