【发布时间】:2020-10-12 04:50:09
【问题描述】:
我是 nodejs 的新手,但仍然掌握它的窍门。我希望以下代码将用户传回数据库中的变量。当我取回一些数据时,连接和查询工作正常,但我似乎无法将其存储在全局变量中。
在本例中,变量“test_user”有效(就像它在函数本身中一样),但变量“test”无效。
我假设我需要将 async 和 await 放在某个地方,但我不知道在哪里。
let test;
app.get('/testing', (req, res) => {
res.send("testing area");
test = getUserByEmail("w@w", function(result) {
let test_user;
if(result.length > 0)
{
test_user = result[0];
console.log(test_user); //logs the result ok
} else {
test_user = null;
}
return test_user;
});
console.log(test); //doesn't log the result
});
function getUserByEmail(email, callback) {
const SELECT_QUERY = "SELECT * FROM users WHERE email='"+ email +"'";
connection.query(SELECT_QUERY, (err, results) => {
if(err) {
console.error(err);
} else {
return callback(results);
}
});
}
【问题讨论】:
标签: javascript mysql node.js callback asynccallback