Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点js查询mysql中使用全局变量_Javascript_Mysql_Node.js - Fatal编程技术网

Javascript 在节点js查询mysql中使用全局变量

Javascript 在节点js查询mysql中使用全局变量,javascript,mysql,node.js,Javascript,Mysql,Node.js,如何在查询结果函数中使用全局变量? 以下是一个例子: var arr = []; var sql = "my sql code"; conn.query(sql, function(err, result){ arr.push(result[0]); }); console.log(arr); // Here the result value must be displayed. 提前感谢。conn.query是一种异步方法,完成后将调用您传递的函数 因此,您的console.log

如何在查询结果函数中使用全局变量? 以下是一个例子:

var arr = [];
var sql = "my sql code";
conn.query(sql, function(err, result){
   arr.push(result[0]);
});
console.log(arr);   // Here the result value must be displayed.

提前感谢。

conn.query是一种异步方法,完成后将调用您传递的函数

因此,您的console.log语句在使用结果设置全局变量之前执行

要解决此问题,请将console.log语句放在回调中:

conn.query(sql, function(err, result){
   arr = result;
   console.log(arr);
});

谢谢如果我放置一个变量而不是console.log会怎么样?我需要在下一行中使用它(在回调函数之外)使用q模块的Promise概念或defer概念