Skip to content

Instantly share code, notes, and snippets.

@Valid
Created June 14, 2010 03:45
Show Gist options
  • Save Valid/437253 to your computer and use it in GitHub Desktop.
Save Valid/437253 to your computer and use it in GitHub Desktop.
require.paths.unshift('lib');
require('express');
flow = require('flow-js/flow');
require('express/plugins');
redisclient = require('redis-node-client/lib/redis-client');
redis = redisclient.createClient();
sys = require('sys');
configure(function () {
use(Logger);
set('root', __dirname);
});
toDollars = function (pennies) {
return (parseInt(pennies, 10) / 100).toFixed(2);
};
get('/', function () {
self = this;
redis.hgetall('site:1:details', function (err, siteDetails) {
redis.zcard('site:1:auctions', function (err, auctions) {
redis.zcard('site:1:bids', function (err, bids) {
redis.zrange('site:1:open', 0, -1, function (err, liveAuctions) {
auctionDetailList = {};
redisclient.convertMultiBulkBuffersToUTF8Strings(liveAuctions);
//sys.p(liveAuctions);
function getAuctionDetails(iterator) {
redis.hgetall('auction:' + liveAuctions[iterator] + ':details', function (err, auctionDetails) {
redisclient.convertMultiBulkBuffersToUTF8Strings(auctionDetails);
//sys.p(auctionDetails);
auctionDetailList[iterator] = auctionDetails;
}); // hgetall
}
flow.exec(function () {
for (var i = 0; i < liveAuctions.length; i++) {
getAuctionDetails(i);
} // for
}, function () {
sys.p(auctionDetailList);
self.render('front.html.ejs', {
locals: {
title: 'BidCactus',
profit: toDollars(16515),
auctions: auctions,
bids: bids,
liveAuctions: liveAuctions,
auctionDetails: auctionDetailList
}
});
}); // flow
});
});
});
});
});
run();
@Valid
Copy link
Author

Valid commented Jun 14, 2010

without flow:

require.paths.unshift('lib');
require('express');
flow = require('flow-js/flow');
require('express/plugins');
redisclient = require('redis-node-client/lib/redis-client');
redis = redisclient.createClient();
sys = require('sys');

configure(function () {
use(Logger);
set('root', __dirname);
});

toDollars = function (pennies) {
return (parseInt(pennies, 10) / 100).toFixed(2);
};

get('/', function () {
self = this;
redis.hgetall('site:1:details', function (err, siteDetails) {
redis.zcard('site:1:auctions', function (err, auctions) {
redis.zcard('site:1:bids', function (err, bids) {
redis.zrange('site:1:open', 0, -1, function (err, liveAuctions) {
auctionDetailList = {};
redisclient.convertMultiBulkBuffersToUTF8Strings(liveAuctions);
//sys.p(liveAuctions);

                function getAuctionDetails(iterator) {
                    redis.hgetall('auction:' + liveAuctions[iterator] + ':details', function (err, auctionDetails) {
                        redisclient.convertMultiBulkBuffersToUTF8Strings(auctionDetails);
                        //sys.p(auctionDetails);
                        auctionDetailList[iterator] = auctionDetails;
                    }); // hgetall
                }
                for (var i = 0; i < liveAuctions.length; i++) {
                    getAuctionDetails(i);
                } // for
                sys.p(auctionDetailList);

                self.render('front.html.ejs', {
                    locals: {
                        title: 'BidCactus',
                        profit: toDollars(16515),
                        auctions: auctions,
                        bids: bids,
                        liveAuctions: liveAuctions,
                        auctionDetails: auctionDetailList
                    }
                });
            });
        });
    });
});

});

run();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment