首页 > 解决方案 > JS从带有mysql查询的函数返回值

问题描述

有一定的功能需要从中提取价值。

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 解决的?

标签: javascriptnode.js

解决方案


你需要一个回调函数(或一个promise)

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

推荐阅读