Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Spencer-Allen/00458b9c7e48f081ec5fb503faee5051 to your computer and use it in GitHub Desktop.
Save Spencer-Allen/00458b9c7e48f081ec5fb503faee5051 to your computer and use it in GitHub Desktop.
GithubGetter
var speakers = require('./speakers.json');
var request = require('request');
var bl = require('bl');
var urls = [];
for (x in speakers){
var UserName = speakers[x].GithubUserName;
if (UserName !== null && UserName.length > 0){
urls.push('https://api.github.com/users/' + UserName)
};
}
function getter(url, callback){
var options = {
url: url,
headers: {
'User-Agent': 'spencer-allen'
},
token : 'e837f1893ecce8f6f613f28405c60869e45141ce'
}
console.log(options.url);
request
.get(options)
.on('response', function(response) {
console.log(response.statusCode) // 200
response.pipe(bl(function(err, data){
if (err) {
return callback(err);
}
callback(data.toString());
}));
});
}
function aSyncMap(array, getter, callback){
var results = [];
var completed = array.length;
array.forEach(function (item, index){
getter(item, function(data){
results[index] = data;
completed -= 1;
if (completed === 0){
callback(results);
}
});
});
}
aSyncMap(urls, getter, function(results){
results.forEach(function(item){
var newSpeaker = JSON.parse(item);
console.log("location", newSpeaker.location);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment