如何在函数外部访问 Promise 回调值?

Cal*_*ity 5 javascript mongoose mongodb node.js

据我了解,回调函数是异步的,不能像常规函数那样返回值。在阅读了 Promise 后,我认为我对它们有了很好的理解,它们基本上是回调的增强版本,允许像异步函数一样返回值。在我的getConnections方法中,我尝试find()通过猫鼬调用数据库上的函数,并且尝试获取该对象数组并将其发送到视图。

var test =  new Promise((resolve, reject) => {
        Database.find().then(list => {
            resolve(list);

        }).catch(err=> {
            return reject(err);
        })

        })
console.log(test)
Run Code Online (Sandbox Code Playgroud)

当我尝试在承诺功能之外登录到控制台时,我得到Promise { _U: 0, _V: 0, _W: null, _X: null }

我认为这功能不正确,并且我认为我正确地使用了承诺。有人能指出我如何在回调函数之外返回这个对象数组的正确方向吗?

Avi*_* Lo 1

let test =  new Promise((resolve, reject) => {
        Database.find().then(list => {
            resolve(list);

        }).catch(err=> {
            return reject(err);
        })

        })

test
.then(result=>console.log(result))
Run Code Online (Sandbox Code Playgroud)

应该可以解决你的问题。