如何从承诺中提取对象?

我试图从一个nosql数据库中获取一些信息,然后通过我的模板引擎(handlebars)读取这些信息,但我不知道该怎么做

我得到的是这个消息: 在这里输入图像说明

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

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}); }); }); 

一旦值存在 ,您必须等待承诺解决, 然后渲染模板。

 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); });