如何从承诺中提取对象?

时间:2017-04-16 21:59:36

标签: javascript node.js mongodb express mongoose

我正在尝试从nosql数据库中获取一些信息,然后通过我的模板引擎(把手)读取该信息,但我不知道该怎么做

所有我得到的是这条消息: enter image description here

这里是我写的一些代码,认为它可以正常工作

let blogPosts = blog.find().where().exec(function(err, blogInfo){
    return blogInfo
});

router.get('/', function(req, res) {
    res.render("blog-home", {blogposts: blogPosts})
});

感谢。

2 个答案:

答案 0 :(得分:1)

您必须等待承诺解决并然后呈现模板,一旦值

router.get('/', function(req, res) {
    let blogPostsPromise = blog.find().where().exec(function(err, blogInfo) {
        return blogInfo
    });  

    blogPostsPromise
       .then(blogPosts => res.render("blog-home", { blogposts: blogPosts }))
       .catch(next);
});

答案 1 :(得分:1)

要从承诺中提取对象,您必须等待承诺完成。 你可以使用" .then"在承诺上。

GROUP BY rand()