node.js - Async Await mongoDb 总是返回 undefined
问题描述
这是我的异步功能
async duplicate_email(db, email) {
await db.collection("users").findOne({ 'email': email }, function(findErr, result) {
console.log(findErr)
if (!result) {
return false
} else {
return true
}
});
}
我从另一个文件中这样称呼它:
middleware.duplicate_email(db, "admin@admin.com").then((answer) => {
console.log(answer)
});
答案总是返回未定义,而结果是填充的。
解决方案
async duplicate_email(db, email) {
let availableEmail = await db.collection("users").findOne({ 'email': email })
if (!availableEmail) {
return false
} else {
return true
}
});
}
如果您使用的是异步函数,则不要使用回调。
推荐阅读
- python - 如何使用python查找大型json文件值中存在的所有单词
- html - 我的容器只散布在身体的一半。我希望它在整个窗口中传播
- css - React-Native:无法在不使用宽度的情况下将省略号带入冗长的文本中
- python - 将 .csv 文件读入元组建议列表
- c++ - 未初始化的值是由堆栈分配 Valgrind c++ 创建的
- url - Telegraf/Influxdb URL 问题
- javascript - 如何将弹出模式的值传递给原始表
- c# - UI 元素不会根据绑定到值的 DataTrigger 进行更新
- php - 如果在php中值为null,则隐藏文本
- android - Android ARCore 中的 3D 模型文件不渲染纹理和颜色