我正在重新学习JavaScript,在上周为大学作业编写此代码时,我认为可能有更好的执行方式。
app.get('/member/all', function(req, res) {
connection.query('CALL GetAllMembers()', function(err,rows){
connection.query('CALL CountMembers()', function(err, allMembers){
console.log(err);
connection.query('CALL CountAllIndMembers()', function(err,indMembers){
console.log(err);
connection.query('CALL CountInactiveMembers()', function(err,inactiveMembers){
console.log(err);
connection.query('CALL CountAllMembersInGroups()', function(err,groupMembers){
console.log(err);
res.render('members', {members : rows[0], title : "All Members", groupMembers : groupMembers[0][0].AllGrpMembers,
inactiveMembers : inactiveMembers[0][0].AllInactiveMembers, indMembers : indMembers[0][0].AllIndMembers,
allMembers : allMembers[0][0].AllMembers, statistics : true});
});
});
});
});
});
});
});
当我试图在
app.get
下声明变量,例如var allMembers
...当回调被执行时,我无法设置allMembers = rowsFromTheCallback
。似乎这是回调函数的本地变量。我确信这与变量作用域和/或提升有关。只是想问一下,是否有更好的方法来做到这一点,因为即使这个函数有效,它看起来非常丑陋呢!提前谢谢。
杰克