SELECT name, email, MAX(age) FROM users GROUP BY name;
function doWork(args) {
var promise = Q.nfapply(some_func, args);
if (someEndCondition) {
return promise;
}
return promise.done(doWork);
}
doWork(['args']).done(function () {
// вызовется только тогда, когда отработают все те штуки.
}
Q.all(args.map(function (args) {
return Q.nfapply(some_func, args);
})).done(function () {
// отработает только тогда когда отработают все промисы
});