Skip to content

Instantly share code, notes, and snippets.

@tomasdev
Last active August 29, 2015 14:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tomasdev/54ecd9d7c5a3cf766e36 to your computer and use it in GitHub Desktop.
Save tomasdev/54ecd9d7c5a3cf766e36 to your computer and use it in GitHub Desktop.
var fetchAll = function () {
var deferred = Q.defer(),
parsedCount = 0,
allData = [];
var addData = function (err, data) {
parsedCount += 5;
if (err) {
console.error(err);
deferred.reject(err);
} else {
console.log('Fetched ' + parsedCount + '/' + allUrls.length);
allData = allData.concat(data);
}
// Check for completion
if (parsedCount >= allUrls.length) {
console.log('resolving fetchAll');
deferred.resolve(allData);
}
};
for (var i = 0, l = allUrls.length; i < l; i += 5) {
serviceCall({
Action: 'UrlInfo',
'UrlInfo.Shared.ResponseGroup': 'Rank',
'UrlInfo.1.Url': allUrls[i],
'UrlInfo.2.Url': allUrls[i + 1],
'UrlInfo.3.Url': allUrls[i + 2],
'UrlInfo.4.Url': allUrls[i + 3],
'UrlInfo.5.Url': allUrls[i + 4]
}, addData);
}
return deferred.promise;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment