Javascript JS通过mysql查询从函数返回值
有一个函数需要从中提取值Javascript JS通过mysql查询从函数返回值,javascript,node.js,Javascript,Node.js,有一个函数需要从中提取值 function func () { let a sql = `SELECT * FROM ...` db.query(sql, function (err, results) { if (err) throw err a = ... }) return a } func() let per = func() 但一直没有定义。这可以通过async/await解决。您需要一个回调函数(或承诺) 查询调用中的函数是回调函数,这意味着
function func () {
let a
sql = `SELECT * FROM ...`
db.query(sql, function (err, results) {
if (err) throw err
a = ...
})
return a
}
func()
let per = func()
但一直没有定义。这可以通过async/await解决。您需要一个回调函数(或承诺)
查询调用中的函数是回调函数,这意味着它是在查询完成后执行的。不能对异步方法使用
return
。相反,您应该在一个函数中包含您希望随后执行的代码,并从回调内部调用该函数(将结果作为参数)。
function func(cb) {
sql = `SELECT * FROM ...`
db.query(sql, function (err, results) {
if (err) throw err
cb(results)
})
}
func((a) => {
console.log(a); // results of the query
})