javascript - 如何在函数之外访问 promise 回调值?
问题描述
据我了解,回调函数是异步的,不能像常规函数那样返回值。在阅读了有关 Promise 的内容后,我以为我对它们有了很好的理解,它们基本上是回调的增强版本,允许像异步函数一样返回值。在我的getConnections
方法中,我试图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。谁能指出我如何在回调函数之外返回这个对象数组的正确方向?
解决方案
您可以简单地await
在承诺声明之前添加。IE
var test = await new Promise...
推荐阅读
- neural-network - 为什么 AlphaGo Zero 使用二面旋转而不是归一化?
- reporting-services - 根据其他数据集过滤文本框中的数据集值
- php - 用于替换两个分隔符之间所有出现的字符的正则表达式
- python - 列出不共享公会的朋友,discord.py 重写
- mongodb - .NET 中的 Mongodb FindOneAndUpdate 不是线程安全的?
- reactjs - 取自 eventChannel
- php - 使用 PHP 会话时在第二页上获取未定义的变量
- python - 使用 Python 将一长串文件添加到 zipball
- android - Assets Manager 在 Android 5.1 上找不到文件
- c++ - 移动turtlebot_gazebo的麻烦