javascript - 如何在函数之外访问 promise 回调值?

标签 javascript node.js mongodb mongoose

据我了解,回调函数是异步的,不能像常规函数那样返回值。在阅读了有关 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/

相关文章:

javascript - 更改 polymer 转盘上的文本

javascript - 如何将数据从 HTML 表单传输到 JavaScript 函数?

javascript - Node : Uploading a remote file to S3 with request and knox

mongodb - Pymongo $regexMatch 正则表达式选项中的无效标志 : u

javascript - Fabric.js 动态添加/删除元素

javascript - 单击时关闭小部件

node.js - 如何使用 Node、Mocha 获取代码覆盖率信息

node.js - 通过将模型逻辑与模型配置分离来对问题进行后续处理

java - 将mongo十进制数转换为java BigDecimal

ruby-on-rails - 我如何从 Ruby 代码连接到 mongodb?