据我理解,回调函数是异步的,不能像常规函数一样返回值。阅读有关Promise的内容后,我认为我对它们有了很好的理解,它们基本上是回调的增强版,允许像异步函数一样返回值。在我的
当我尝试在Promise函数之外记录到控制台时,我会得到
getConnections
方法中,我试图通过mongoose调用find()
函数来查询我的数据库,并尝试获取这个对象数组并将它发送到视图。var test = new Promise((resolve, reject) => {
Database.find().then(list => {
resolve(list);
}).catch(err=> {
return reject(err);
})
})
console.log(test)
当我尝试在Promise函数之外记录到控制台时,我会得到
Promise { _U: 0, _V: 0, _W: null, _X: null }
。我认为这不是正确的功能方式,并且我认为我正确地使用了Promise。请问有谁可以指导我如何在回调函数之外返回该对象数组?
test.then(x=> console.log(x));
。then 是一种常规机制,用于在 Promise 解决后获取其结果。 - David784then()
中的东西。 - tevemadarDatabase.find().then(list => list)
<-- 列表就是你所需要的 - Deryck