一个页面同时render三个页面查询的内容

最近在学习使用express+mongo搭建网站。
在网上看到的说法,一个页面只能render()一次,但是我的首页需要在三个不同的数据表中读取数据!!!
先看一下页面从一个表中获取数据的render方法:

app.get("/list/web",function(req,res){
    Webdb.fetch(
        function(err,webs){
            if(err){
                console.log(err);
            }
            res.render('web',{title:'web列表页',"webs":webs});
        });
})

具体的代码含义不在介绍,“webs”:webs是向页面传递的内容。

下面看看怎么样同时传递三个数据表中的数据

app.get("/",function(req,res){
    Webdb.fetch(
        function(err,webs){
            if(err){
                console.log(err);
            }
            Takein.fetch(
                function(err,takeins){
                    if(err){
                        console.log(err);
                    }
                    Blog.fetch(
                        function(err,blogs){
                            if(err){
                                console.log(err);
                            }
                            res.render('index',{title:'首页', "webs":webs,"takeins":takeins,"blogs":blogs});
                        })
                })
        });

}); 

这里我用到的方法是函数的嵌套,因为.fetch方法传入的是一个callback函数,所以,我觉得嵌套一下可以实现我想要的结果,结果是令人可喜的。

因为是刚开始接触,不知道以上方法是否存在什么bug,希望大神可以评论指点!

你可能感兴趣的:(node-js)