据我了解,回调函数是异步的,不能像常规函数那样返回值。在阅读了有关 Promise 的内容后,我以为我对它们有了很好的理解,它们基本上是回调的增强版本,允许像异步函数一样返回值。在我的 getConnections
方法,我正在尝试调用 find()
通过 Mongoose 在我的数据库上运行,我试图捕获这个对象数组并将其发送到 View 。
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。谁能指出我如何在回调函数之外返回这个对象数组的正确方向?
最佳答案
您可以简单地添加 await
在 promise 声明之前。
IE。
var test = await new Promise...
关于javascript - 如何在函数之外访问 promise 回调值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61281739/