This question already has answers here:
How do I return the response from an asynchronous call?
                                
                                    (36个答案)
                                
                        
                                2年前关闭。
            
                    
我正在尝试从nosql数据库中获取一些信息,然后通过我的模板引擎(把手)读取该信息,但是我不知道该怎么做

我得到的只是以下消息:
javascript - 如何从 promise 中提取对象?-LMLPHP

这是我写的一些认为可以工作的代码

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

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


谢谢。

最佳答案

要从诺言中提取对象,您必须等待诺言完成。
您可以通过在诺言中使用“ .then”来实现。

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

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

关于javascript - 如何从 promise 中提取对象? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43442599/

10-09 18:23