我目前正在尝试运行一组MySQL查询,以便使用async.js系列控制流功能。不过,我不断收到以下错误:Async.js系列和node-mysql查询无法获得行
throw err; // Rethrow non-MySQL errors
^
TypeError: Cannot read property 'status' of undefined
我已经测试过的查询在单独的功能async.series外,他们都很好,给我回的数据,我能想到的错误的唯一原因是由于在异步性质,它没有当时的数据,因此错误EG当我登录的行我得到:
[]
[]
[]
下面是异步功能:
function SQLuserDataAsync() {
connection.getConnection(function (err, connection) {
async.series([
function (callback) {
connection.query('SELECT status FROM users WHERE name= ?;',
[userval],
function (err, rows) {
if (rows[0]['status']) {
console.log("Account Status: " + accountval);
} else {
console.log(err);
}
callback(null, 'one');
});
},
function (callback) {
connection.query('SELECT account_type FROM settings_tbl WHERE id=(SELECT id FROM users WHERE name= ?);',
[userval],
function (err, rows) {
if (rows[0]['account_type']) {
var acctype = rows[0]['account_type'];
console.log("Account Type: " + acctype);
} else {
console.log(err);
}
callback(null, 'two');
});
},
function (callback) {
connection.query('SELECT type FROM settings_tbl WHERE id=(SELECT id FROM users WHERE name= ?);',
[userval],
function (err, rows) {
if (rows[0]['type']) {
var type = rows[0]['type'];
console.log("Type: " + type);
} else {
console.log(err);
}
callback(null, 'three');
});
}
]);
connection.release();
});
}
任何suggestio ns作为错误的原因或在这里做错了什么?
你尽力劝慰行?也许它没有导致那个错误的结果 – Beginner
我现在可以尝试,我认为这是错误的原因,但有数据,它似乎在查询运行之前执行,如果我要猜测。 – Studento919
我觉得不是因为你在回调函数 – Beginner