如何解决当我尝试返回数据库搜索结果时返回未定义
我使用 neDB 创建电子应用程序。
我想创建函数:
const getAllHosts = (db) => {
db.find({},(err,hosts) => {
return hosts
})
}
但是当我调用这个函数时,它返回 undefined,我试图将它更改为 async
,但它没有帮助我。
解决方法
因为您没有从 getAllHosts
返回任何东西。
试试这个
const getAllHosts = (db) => {
return new Promise((resolve,reject) => {
db.find({},(err,hosts) => {
if (err) return reject(err);
resolve(hosts)
})
})
}
getAllHosts().then(hosts => console.log(hosts)).catch(err => console.err(err))
如果您的 db.find
已经返回了一个 promise,您可以尝试这样的操作
const getAllHosts = async (db) => {
try {
const hosts = await db.find({})
return hosts
} catch(err) {
throw err
}
}
getAllHosts().then(hosts => console.log(hosts)).catch(err => console.err(err))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。