我在node.js应用程序中遇到了一个问题。我正在连接到数据库并获取数据
let users = {};
let currentUser = "example"; // this variable changes every time a user connects
connection.query('SELECT * FROM users WHERE name="'+currentUser+'"', function (err, result) {
if (err) console.log(err);
users[currentUser] = result[0];
});
console.log(users[currentUser]);
当我尝试从函数内部console.log
result[0]
时,它返回以下内容:
RowDataPacket {
n: 11,
id: 'VKhDKmXF1s',
name: 'user3',
status: 'online',
socketID: 'JbZLNjKQK15ZkzTXAAAB',
level: 0,
xp: 0,
reg_date: 2018-07-16T20:37:45.000Z }
我想将来自MySQL的结果放入users.example
或类似的内容中,但当我尝试该代码时,它返回undefined
。因此,我以console.log(users[currentUser].id)
为例,它显示了一个错误
TypeError: Cannot read property 'id' of undefined
那么,如何将来自结果的数据放入变量users[currentUser]
中呢
发布于 2018-07-17 05:07:35
connection.query是异步调用。在查询从db获取数据之前调用console.log。
https://stackoverflow.com/questions/51369841
复制相似问题