Files
login/node_modules/asyncc/lib/eachSeries.js
2020-10-12 14:50:25 +05:30

39 lines
751 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = eachSeries;
var _setImmediate2 = require("./_setImmediate");
function eachSeries(items, task, callback) {
var length = items.length;
var results = [];
var i = 0;
if (length === 0) {
callback(null, []);
return;
}
run();
function cb(err, res) {
results.push(res);
/* istanbul ignore else */
if (err || length === i) {
callback && callback(err, results);
} else if (i < length) {
(0, _setImmediate2._setImmediate)(function () {
// prevent RangeError: Maximum call stack size exceeded for sync tasks
run();
});
}
}
function run() {
task(items[i], cb, i++);
}
}