NODE JS & SQL 连接性很好,但行在外面无法访问



下面的代码我提到了我在哪里得到了未定义的结果,以及我在哪里获得了结果,你能帮助我理解我做错了什么吗。

const Connection=require('../utilities/connection')
let db={}
let data;
db.findall=async()=>{
Connection.query("select * from offers;", (err, rows, _field) => {
if (!err) {
data=rows;
//console.log(row)---> this give correct output
}
else {console.log("Error while fetching");}
});
//console.log(data)-->undefined
}
async function run(){
await db.findall()
console.log(data);//undefined
}
run()
// module.exports=db

请尝试使用此示例:-

const Connection=require('../utilities/connection')
let db={}
let data;
db.findall=async()=>{
return new Promise(async (resolve,reject) => {
Connection.query("select * from offers;", (err, rows, _field) => {
if (!err) {
resolve(rows)
}
else {console.log("Error while fetching");}
reject(err)
});
})
}
async function run(){
let myAwaitData = await db.findall()
console.log(myAwaitData);
}
run()

请注意,我已经包含了确保数据返回到调用方函数的承诺。

最新更新