我想要把mysqldb的3个查询用async做优化,有个难点,就是如果第一个查询存在数据,后面2个就不执行,并return结果!用auto和waterfall都没有成功!求指教! function(req, username, password, done) { //md5加密 password = md5(password); // asynchronous // User.findOne wont fire unless data is sent back process.nextTick(function() {
var findUserByUnPwSql = "select * from user where username = '" + username + "'and password ='" + password + "'";
mysqldb.excute(findUserByUnPwSql, function (results) {
if(results.length>0){
return done(null, false, req.flash('signupMessage', '该用户已存在!'));
}else{
var insertUserSql = "insert into user(username,password) values('" + username + "','" + password + "')";
mysqldb.excute(insertUserSql, function (results) {
mysqldb.excute(findUserByUnPwSql, function (results) {
return done(null, results[0]);
});
});
}
});
});
}));