Javascript将对象推入数组不起作用
im使用节点mirc从mysql检索数据 然后我想使用下面的代码将数据转换为数组:Javascript将对象推入数组不起作用,javascript,arrays,node.js,object,Javascript,Arrays,Node.js,Object,im使用节点mirc从mysql检索数据 然后我想使用下面的代码将数据转换为数组: function getQuestion (arr{ var obj = {}; connection.connect(); connection.query("SELECT * FROM quiz", function (err, rows, fields) { if (err) throw err; for (var i = 0; i < r
function getQuestion (arr{
var obj = {};
connection.connect();
connection.query("SELECT * FROM quiz", function (err, rows, fields) {
if (err) throw err;
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
obj = {"id":row.id, "question":row.question, "answers":row.answers.split(", ")};
f100.push(obj);
};
});
connection.end();
}
f100 = [];
getQuestion();
console.log(f100);
函数getQuestion(arr{
var obj={};
connection.connect();
connection.query(“从测验中选择*”,函数(错误、行、字段){
如果(错误)抛出错误;
对于(变量i=0;i
但是,它唯一的印刷品是
[]
连接。查询是异步的,因此我建议在连接内对f100
进行控制台操作。查询回调。如果您想在完成填充后对f100
执行某些操作,则需要从连接查询回调内将其传递到另一个函数中。例如:
connection.query("SELECT * FROM quiz", function (err, rows, fields) {
if (err) throw err;
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
obj = {"id":row.id, "question":row.question, "answers":row.answers.split(", ")};
f100.push(obj);
};
console.log(f100); // should console out correctly here
handleArray(f100); // passes in f100 to a new function
});
connection.query(“从测验中选择*”,函数(错误、行、字段){
如果(错误)抛出错误;
对于(变量i=0;i
由于.query()的
异步行为,执行需要一些时间,但您在调用函数后正在执行日志。您需要将日志放入回调.query()
函数中
function getQuestion (arr{
var obj = {};
connection.connect();
connection.query("SELECT * FROM quiz", function (err, rows, fields) {
if (err) throw err;
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
obj = {"id":row.id, "question":row.question, "answers":row.answers.split(", ")};
f100.push(obj);
};
// do log here
console.log(f100);
});
connection.end();
}
f100 = [];
getQuestion();
函数getQuestion(arr{
var obj={};
connection.connect();
connection.query(“从测验中选择*”,函数(错误、行、字段){
如果(错误)抛出错误;
对于(变量i=0;i
通过在for each语句后面放一个console.log()语句来检查是否正在检索任何行,以确定问题的确切位置。由于JS异步行为!!@YahyaUddin在检索到的数据中没有问题,我已经在测试了