From 4cea3130605fd69c1a9c6bbdfa022c09b6c4fc6e Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Sat, 28 Sep 2013 17:44:18 -0400 Subject: [PATCH] updated getPostsByPids method to resolve premature return issue, and refactored it to use async.map instead of eachSeries --- src/posts.js | 63 ++++++++++------------------------------------------ 1 file changed, 12 insertions(+), 51 deletions(-) diff --git a/src/posts.js b/src/posts.js index d3a804acf6..29989fb8e2 100644 --- a/src/posts.js +++ b/src/posts.js @@ -19,7 +19,6 @@ var RDB = require('./redis.js'), Posts.getPostsByTid = function(tid, start, end, callback) { RDB.lrange('tid:' + tid + ':posts', start, end, function(err, pids) { - RDB.handle(err); if (pids.length) { @@ -154,28 +153,23 @@ var RDB = require('./redis.js'), RDB.hset('post:' + pid, field, value); } - - - - /* getPostsByPids using redis's multi pipeline */ Posts.getPostsByPids = function(pids, callback) { - var posts = [] - var multi = RDB.multi(); + var posts = [], + multi = RDB.multi(); - for (v in pids) { - var _pid = pids[v] - multi.hgetall("post:"+_pid); + for(var x=0,numPids=pids.length;x