Preguntado y respondido.
La utilidad Async.js tiene muchas cosas buenas, incluida una función de mapa y underscores.js ¡ayuda a ordenar cualquier cosa!
app.get('/viewing/:id', function (req, res){
if(!req.cookies.user) {
res.end('Requires Authenticated User');
}
else {
connection.query('SELECT something,somethingelse from mytable where userId = ?',[req.params.id], function (error, rows, fields) {
async.map(rows, getUsers, function(err, results){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(JSON.stringify(_.flatten(_.compact(results))));
});
});
}
});
function getUsers(user, callback) {
connection.query('SELECT id,firstName,lastName FROM users WHERE id = '+ user.otherId, function(err, info) {
if(err) {
console.log(err);
return callback(err);
}
else {
return callback(null, info);
}
});