mysql用户authentication为nodeftpd

我想用mysqlftpdauthentication,但问题是connection.query()是asynchronous和脚本在mysql返回结果之前完成。

虽然,我已经制定了一个解决scheme,但它是一个黑客,并不是一个真正的解决scheme,是丑陋的。 那么如何在命令中使用mysql进行身份validation:通过nodeftpd库

所以它更多的是如何正确的,可能!

conn.on('command:pass', function(pass, success, failure) { if(pass) con.query('select * from wp_users where user_login = ? and user_pass = ?',[username, pass], function(err, rows, fields){ if(rows.length > 0 ){ success(); return; }else{ failure(); return; } console.log('yy'); }); console.log('xx'); failure(); }); 

 conn.on('command:pass', function(pass, success, failure) { var self = this; if(pass) this.validateUser(username,pass,function(res){ if(res) { success(); } else { failure(); } }); return; }); validateUser = function(username,pass,callback) { con.query('select * from wp_users where user_login = ? and user_pass = ?',[username, pass], function(err, rows, fields){ if(rows.length > 0 ){ callback(true); }else{ callback(false); } }); }