私はノードアプリケーションに取り組んでおり、コードを整理するために別のモデルレイヤーで構造化しています。モデルには、Mongojsモジュールを使用してデータベースから情報をフェッチするgetImagesという関数があります。問題は、データが取得される前にgetImagesが返されることです。私は同期コードでの作業に慣れているので、この問題は頭を悩ませることが難しいことを証明しています。答えはどういうわけかコールバック関数を採用することだと思います。誰かがそれがどのように機能するかを示すことができますか?または、コールバックが解決策ではない場合、何ですか?
ルート/index.js
exports.image = function(req, res) {
if (req.method == 'GET') {
var image = model.getImages();
return res.send(image);
}
}
models / index.js
var getImages = function() {
var imagesCollection = db.collection('Images');
var images = imagesCollection.find(function(err, docs) {
return docs;
});
return images;
}
exports.getImages = getImages;