当我试图返回数据库搜索结果时,返回undefined



我使用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已经返回了一个承诺,你可以尝试这样的

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))

最新更新