我是后端的Node.Js和JavaScript Web开发的新手.我看到回调内部的回调可能很痛苦,并且有模块可以避免这种情况.其中一个模块是async,https://github.com/caolan/async
我已经阅读了文档,但很难开始并理解如何做到这一点.
例如,我有这个函数"check_aut_user",如何使用async转换此代码?
function check_auth_user(username, password, done) { var client = new pg.Client("pg://user:pass@127.0.0.1/database"); client.connect(function(err) { // If not get the connection if(err) { return console.error('could not connect to postgres', err); } // Query the user table client.query('select * from "user" where username = $1 and password = $2', [username, password], function(err, result) { if(err) { return console.error('error running query', err); } if (result.rowCount > 0) { var res = result.rows[0]; console.log(res); passport.serializeUser(function(res, done) { //console.log("serializer: " + res); done(null, res); }); passport.deserializeUser(function(user, done) { //console.log("deserializer: " + user['password']); done(null, res); }); return done(null, res); } else { return done(null, false); } }); }); }
最好的祝福,