javascript - 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 解决的?
解决方案
你需要一个回调函数(或一个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
})
推荐阅读
- angular - Angular Unit Testing - 如何测试创建 Websocket 的服务
- android - Play 应用内更新不适用于启用了 Play 应用签名的应用
- asp.net-core - 客户端和 .Net Core API 之间的 AAD 身份验证
- firebase - x-appengine-citylatlong 没有给出正确的 Lat & Lag
- python - 带有 glob 的 for 循环在 Python 中无法正常工作
- node.js - nginx,react,node,表达正确配置
- python - 两个进程之间的管道列表
- node.js - React Native Awesome 项目构建失败
- react-native - React Native(平面列表)
- github - 在具有多个项目的单个存储库中使用 GitHub Actions