我目前正在嘗試運行一組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