我使用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))