我有这段用Nodejs ExpressJS编写的代码。 我想在到达/ home调用的最后一行之前得到MySQL查询的结果。 我试图使用光纤和异步库并花费很长时间在它们上的问题,但没有结果它们太复杂。我希望有人可以解释如何在我的代码中使用异步,或者在重新发送页面之前给出获取mysql结果的正确方法。
app.get('/home', function(req, res) {
if (req.session.data.user) {
db_classic.query('SELECT devices.id ,devices.name ,devices.imei as marker \
from devices \
left join device_owners \
on devices.id = device_owners.device_id \
left join users \
on users.id = device_owners.user_id \
where users.email =? \
', [req.session.data.user], function(err, result) {
console.log(json(result));
console.log("user :" + req.session.data.user);
console.log('/home');
res.render('home', {
'username': req.session.data.user,
'devices': result
});
});
} else {
console.log('/');
res.render('index');
}
console.log('done');
});