我正在使用Node.JS开发,我用JavaScript编写了这些函数:
MySqlBl.prototype.getUser = function (email, onGetUserCompleted, onGetUserError) {
this.execQuery("CALL spGetUser('" + email + "')", onGetUserError, onDone);
function onDone(rows) {
if (typeof rows[0][0] != 'undefined') {
var row = rows[0][0];
console.log('1: ', row.First_Name);
console.log('2: ', row.Last_Name);
getUserObject(row.User_ID, row.Email, row.First_Name, row.Last_Name);
}
}
};
function getUserObject(userID, email, firstName, lastName) {
console.log('3: ' + firstName);
console.log('4: ' + lastName);
}
我得到的输出是:
1: Lien
2: Dang
3: undefined
4: undefined
为什么我无法正确发送行值?
答案 0 :(得分:1)
也许这是一个范围问题。 如果你使用另一个这样的var:
function onDone(rows) {
if (typeof rows[0][0] != 'undefined') {
var row = rows[0][0];
console.log('1: ', row.First_Name);
console.log('2: ', row.Last_Name);
var first = row.First_Name, last = row.Last_Name;
getUserObject(row.User_ID, row.Email,first, last);
}
}
这有用吗? (即使它正在工作,这不是一个答案,最好继续寻找)。