From 8456025f28b0ffa00760e94a2b6e2b95921873fa Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Tue, 11 Feb 2014 23:14:41 -0500 Subject: [PATCH] 2 more maps --- src/socket.io/posts.js | 6 +++++- src/user.js | 28 ++++++++-------------------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/socket.io/posts.js b/src/socket.io/posts.js index 07e51546e7..fd14805f31 100644 --- a/src/socket.io/posts.js +++ b/src/socket.io/posts.js @@ -215,7 +215,11 @@ SocketPosts.getFavouritedUsers = function(socket, pid, callback) { rest_amount = pid_uids.length - max; pid_uids = pid_uids.slice(0, max); } - user.getUsernamesByUids(pid_uids, function(result) { + user.getUsernamesByUids(pid_uids, function(err, result) { + if(err) { + return callback(err); + } + usernames = result.join(', ') + (rest_amount > 0 ? " and " + rest_amount + (rest_amount > 1 ? " others" : " other") : ""); diff --git a/src/user.js b/src/user.js index be7dfe06ef..685d5f2939 100644 --- a/src/user.js +++ b/src/user.js @@ -732,41 +732,29 @@ var bcrypt = require('bcryptjs'), }; User.getUsernamesByUids = function(uids, callback) { - var usernames = []; if (!Array.isArray(uids)) { - return callback([]); + return callback(null, []); } - function iterator(uid, callback) { - User.getUserField(uid, 'username', function(err, username) { - usernames.push(username); - callback(null); - }); + function getUserName(uid, next) { + User.getUserField(uid, 'username', next); } - async.eachSeries(uids, iterator, function(err) { - callback(usernames); - }); + async.map(uids, iterator, callback); }; User.getUserSlugsByUids = function(uids, callback) { - var userslugs = []; if (!Array.isArray(uids)) { - return callback([]); + return callback(null, []); } - function iterator(uid, callback) { - User.getUserField(uid, 'userslug', function(err, userslug) { - userslugs.push(userslug); - callback(null); - }); + function getUserSlug(uid, next) { + User.getUserField(uid, 'userslug', next); } - async.eachSeries(uids, iterator, function(err) { - callback(userslugs); - }); + async.map(uids, getUserSlug, callback); }; User.getUsernameByUserslug = function(slug, callback) {