Speed up user listing by performing parallel requests
This commit is contained in:
@@ -18,6 +18,32 @@ if (search.accessToken) {
|
||||
}
|
||||
|
||||
// poor man's async in the global namespace
|
||||
function asyncForEachParallel(items, handler, callback) {
|
||||
var alreadyDone = 0;
|
||||
var errored = false;
|
||||
|
||||
if (items.length === 0) return callback();
|
||||
|
||||
function done(error) {
|
||||
// do nothing if already called back due to error
|
||||
if (errored) return;
|
||||
|
||||
if (error) {
|
||||
errored = true;
|
||||
return callback(error);
|
||||
}
|
||||
|
||||
++alreadyDone;
|
||||
|
||||
// we are done
|
||||
if (alreadyDone === items.length) callback();
|
||||
}
|
||||
|
||||
for (var i = 0; i < items.length; ++i) {
|
||||
handler(items[i], done);
|
||||
}
|
||||
}
|
||||
|
||||
function asyncForEach(items, handler, callback) {
|
||||
var cur = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user