javascript - 无法从异步函数获取返回值
问题描述
我无法从 JavaScript 中的异步函数获取返回值。我根据此处找到的其他帖子尝试了几种不同的方法 -如何使用 Node 正确地从 mysql 返回结果?并在此处将 mysql 查询行存储在变量中以备后用。我当前的代码如下。
function get_info(callback) {
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'xxxxxxx',
user: 'bob',
password: 'bob',
database: 'xxxxxx'
});
connection.connect(function (err) {
if (err) throw err;
connection.query("SELECT Name FROM webform", function (err, result) {
if (err) throw err;
return callback(result);
});
connection.end();
});
}
var newli = get_info(function(result){
stuff_i_want = result;
return stuff_i_want;
});
console.log(newli);
我期望console.log(newli)
打印stuff_i_want
我从get_info()
函数返回的值,但我得到了未定义的值。我正在尝试result
从connection.query
存储在以后可以使用的变量中获取 的值。
解决方案
推荐阅读
- python - 为什么我的 exe 文件不遵循脚本中的指定路径?
- git - 在 git repo 中删除虚假的第二个根
- ios - 如何覆盖 iPad 外部键盘的 Tab 按下事件?
- php - 如何解决加载typo3网站url时出现的错误?
- sonarqube - 迁移 Sonarqube - 数据库升级错误
- azure - Octopus deploy 中的错误“Web Deploy 无法修改目标上的文件,因为它被外部进程锁定”
- node.js - 将 Google 功能与 Node-express-passport 一起使用
- c# - 为什么在解密此字节数组期间会收到 System.Security.Cryptography.CryptographicException
- python - 使用python匹配条件后如何从列表的开始迭代开始for循环
- windows - 64 位应用程序的应用程序清单