Javascript node.js全局变量有问题
我不太懂javascript。我无法定义全局变量Javascript node.js全局变量有问题,javascript,node.js,Javascript,Node.js,我不太懂javascript。我无法定义全局变量 var data = 'empty'; connection.query('SELECT * FROM deneme',function(err, rows, fields){ if (err) throw err; data = rows; }); console.log(data); 通常,控制台需要返回行数据,但返回空数据。如何从函数内部查询行?如何定义全局变量?它不起作用的原因是您的控制台。log在异步代码块之外。基
var data = 'empty';
connection.query('SELECT * FROM deneme',function(err, rows, fields){
if (err) throw err;
data = rows;
});
console.log(data);
通常,控制台需要返回行数据,但返回空数据。如何从函数内部查询行?如何定义全局变量?它不起作用的原因是您的
控制台。log
在异步代码块之外。基本上是这样的:
数据
设置为空
李>
连接
发出数据库请求李>
console.log
激发(data
在该点为empty
)李>
数据
设置为行
console.log
语句放入异步块代码中:
var data = 'empty';
connection.query('SELECT * FROM deneme',function(err, rows, fields){
if (err) throw err;
data = rows;
console.log(data);
});
这不是全局变量定义的问题,而是尝试以同步方式使用异步方法。那是不可能的。我写了一个类比,也许它有助于你理解它:你将如何返回值?你不能。这不是异步编程的方式。