NODE.JS函数回调以呈现页面

坦率

我有一个函数getthem(),它检查mongo db的清单并为其返回名称,streamurl。

我将它们作为var流传递给呈现/ dashboard页面的renderme。

我的问题是我得到了console.log(“结束查找:” + JSON.stringify(stream))

来显示我的测试输入,但是渲染没有任何效果。

即时通讯使用ejs进行渲染。如何将结果传递到页面?

router.get('/dashboard', function (req, res) {

    var foo = getthem();


        function getthem() {


        var group = "tesint";
        console.log('geting for group : ' + group);
        var mdlListings = require('../models/listings.js');
        var myresult = "tet";

        mdlListings.find({}, "name streamurl", function (err, data) {
            if (err) {
                console.error(err);
                return;
            }
            if (data === null) {
                console.log("No results");
                return;
            }

            var stream = { };
            data.forEach(function (streams) {

                console.log("Got " + streams.name + "  " + streams.streamurl);
                stream[streams.name] = streams.streamurl;
              //  stream += 'name: '+streams.name+'},{streamurl: '+streams.streamurl;
               // console.log("stram arry "+stream[streams.name] )
               console.log("END OF FIND:"+JSON.stringify(stream))
            }, renderme(stream));
            //    console.log("Result:", votes);


            //var myresult = Object.keys(stream).map(function (name) {
            //    return { name: name, url: stream[name] };
            //})

            console.log("before return stream "+stream);
            return stream;
        });


    }

        function renderme(resa) {
            console.log("RESA"+JSON.stringify(resa))
           var resa = JSON.stringify(resa);
            res.render('dashboard', {
                    title: 'Dashboard',
                    user: req.user,
                    listing: resa
                }
            )
        }
mscdex

您要将的结果renderme(stream)作为第二个参数传递给forEach()renderme(stream)然后forEach()stream仍然是一个空对象的情况下在您的回调被调用之前立即求值我的猜测是您想要这样的东西:

data.forEach(function (streams) {
  console.log("Got " + streams.name + "  " + streams.streamurl);
  stream[streams.name] = streams.streamurl;
  console.log("END OF FIND:"+JSON.stringify(stream))
});
renderme(stream);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

node.js异步每个函数回调失败

来自分类Dev

node.js回调函数dynamodb

来自分类Dev

来自node.js的回调函数

来自分类Dev

Node.js用回调函数循环

来自分类Dev

回调函数问题Node.js

来自分类Dev

Node.js用回调函数循环

来自分类Dev

如何使用Router在Node.js中呈现页面

来自分类Dev

Node.JS函数返回异步回调函数的值

来自分类Dev

在Node.js中制作异步回调函数

来自分类Dev

返回回调函数Node.js的数据

来自分类Dev

如何在回调函数Node JS中打破for循环

来自分类Dev

node.js中的节点计划回调函数

来自分类Dev

将变量传递给Node.JS回调函数

来自分类Dev

Node.js从回调函数中提取值

来自分类Dev

没有回调的Node.js函数

来自分类Dev

在Node.js回调中调用模块函数

来自分类Dev

TypeError:回调不是Node.js中的函数

来自分类Dev

如何在回调函数Node JS中打破for循环

来自分类Dev

for循环内部的回调函数-Node.js

来自分类Dev

等待回调函数在Node.js中返回

来自分类Dev

Node.js如何使用函数的回调结果

来自分类Dev

为什么Node.js不执行回调函数?

来自分类Dev

Node.js中的回调函数没有结果

来自分类Dev

Node js中的回调函数是否以同步方式执行?

来自分类Dev

Node.js-在回调函数中使用数据

来自分类Dev

如何在node.js中执行回调函数?

来自分类Dev

Node.js使用回调函数更改HTML代码

来自分类Dev

Node.js-迭代运行带有回调的函数

来自分类Dev

node.js 在类函数上使用回调