pockry
11/27/2014 - 10:14 AM

抓取Hacker News API示例 使用NodeStarter。

抓取Hacker News API示例 使用NodeStarter。

var superagent = require('superagent');
var async = require('async');

/**
 * GET /
 * Home page.
 */

exports.index = function(req, res) {
	superagent.get('https://hacker-news.firebaseio.com/v0/topstories.json')
    .accept('json')
		.end(function(err, result) {
			if(err) {return next(err);}
			//console.log(result.body);
			var arr = result.body.slice(0,10);
			var results = [];
			async.each(arr, function(item, cb) {
				var url = 'https://hacker-news.firebaseio.com/v0/item/' + item.toString() + '.json';
				//console.log(url);
				superagent.get(url)
					.end(function(err, res) {
						if(err) {return cb(err);}
						results.push(res.body);
						cb();
					});
			}, function(err) {
				if(err) {return next(err);}
				//console.log(results[0]);
				res.render('home', {
          title: '主页',
          result: results
        });
			});
		});
  
};