此问题已在此处找到答案:
如何从异步调用返回响应(42个应答)
异步函数返回承诺,而不是值(4个答案)
如何获取承诺的价值((12个答案)
一小时前关门了。
有没有一种方法可以让任何类型的函数(甚至可能不是async/await)以更高级别的方式返回sqlite db的查询?
const sqlite = require('sqlite3')
const db = new sqlite.Database('./Database/Database.db')
async function getAllChoices() {
const prom = new Promise((resolve, reject) => {
db.all('SELECT * FROM Choices', (err, rows) => {
if (err) {
reject(err)
} else {
resolve(rows)
}
})
})
console.log(await prom) //correctly logs resolved promise
return await prom
}
console.log(getAllChoices()) //logs Promise { <pending> }
我理解为什么上面的函数不返回已解析的值(因为async/await对顶级值不起作用),但通常有没有办法让函数从sqlite数据库返回已解析的查询?
暂无答案!
目前还没有任何答案,快来回答吧!