diff --git a/src/posts.js b/src/posts.js index b67afad757..060a4edf97 100644 --- a/src/posts.js +++ b/src/posts.js @@ -5,152 +5,98 @@ var RDB = require('./redis.js'), async = require('async'); (function(Posts) { - //data structure - //*global:next_post_id - // *pid:1:content - // *pid:1:uid - // *pid:1:timestamp - // ***pid:1:replies - // *uid:1:posts - - Posts.get = function(callback, tid, current_user, start, end) { if (start == null) start = 0; if (end == null) end = start + 10; - async.parallel({ - details: function(callback) { - RDB.mget([ - 'tid:' + tid + ':title', - 'tid:' + tid + ':locked' - ], function(results) { - callback(null, { - 'topic_name': results[0], - 'locked': results[1] + var post_data, user_data, thread_data, vote_data; + + + //compile thread after all data is asynchronously called + function generateThread() { + if (!post_data ||! user_data || !thread_data || !vote_data) return; + + var posts = []; + + for (var i=0, ii= post_data.pid.length; i 0) { - RDB.multi() - .mget(content) - .mget(uids) - .mget(timestamp) - .mget(post_rep) - .exec(function(err, replies) { - // Populate uids array - for(var x=0,numReplies=replies[1].length;x