Node.js / Async - Как избежать ада обратного вызова с async?
Я новичок в веб-разработке на Node.Js и JavaScript. Я вижу, что обратные вызовы внутри обратных вызовов могут быть проблемой, и есть модули, чтобы этого избежать. Один из этих модулей асинхронный,https://github.com/caolan/asyncI»
Прочитайте документацию, но трудно начать и понять, как это сделать.
Например, яве эту функцию "check_aut_user»Как я могу преобразовать этот код с помощью асинхронных?
function check_auth_user(username, password, done) {
var client = new pg.Client("pg://user:[email protected]/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);
}
});
});
}
С уважением,