Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在expressjs mongoose中发送带有页面呈现的obj_Javascript_Node.js_Express_Mongoose_Promise - Fatal编程技术网

Javascript 在expressjs mongoose中发送带有页面呈现的obj

Javascript 在expressjs mongoose中发送带有页面呈现的obj,javascript,node.js,express,mongoose,promise,Javascript,Node.js,Express,Mongoose,Promise,作为对这篇文章的后续行动: 我现在尝试在我的nodejs/expressjs应用程序中发送一个对象和一个页面,而不是仅作为响应发送JSON数据 我的页面的路径 //Get latest listings page router.get('/latest', function (req, res) { var rL = Request.getAllRequestListingsCb(); res.render('latest'); }); 根据链接的帖子,它建议如下,但我需要返

作为对这篇文章的后续行动:

我现在尝试在我的nodejs/expressjs应用程序中发送一个对象和一个页面,而不是仅作为响应发送JSON数据

我的页面的路径

//Get latest listings page
router.get('/latest', function (req, res) {
    var rL = Request.getAllRequestListingsCb();
    res.render('latest');
});
根据链接的帖子,它建议如下,但我需要返回一个JSON到我的路由,而不是直接发送到客户端

//Find all. 
module.exports.getAllRequestListings = function (response) {
    var query = {};
    Request.find(query, function (err, docs) {
        response.send(docs);
    });
};
我试图使用一个承诺,但我的rL var一直返回为未定义,因此承诺永远不会“完成”,我相信是这样,因为我没有正确地更改它,所以现在我在这里


(最终目标是使用“Handlebar”在最新页面中呈现一个表,以显示来自Json的数据,并随页面一起发送。)

您应该使用适当的回调链接,因为
find
方法是异步的

//Find all. 
module.exports.getAllRequestListings = function (callback) {
    var query = {};
    Request.find(query, callback);
};
路由器

//Get latest listings page
router.get('/latest', function (req, res) {
    Request.getAllRequestListingsCb(function (err, docs){
        res.render('latest', { rL: docs });
    });

});

非常感谢@abskmj,甚至还研究了如何限制广告排序结果。