You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// async-each MIT license (by Paul Miller from https://paulmillr.com).
(function(globals) { 'use strict'; var each = function(items, next, callback) { if (!Array.isArray(items)) throw new TypeError('each() expects array as first argument'); if (typeof next !== 'function') throw new TypeError('each() expects function as second argument'); if (typeof callback !== 'function') callback = Function.prototype; // no-op
if (items.length === 0) return callback(undefined, items);
var transformed = new Array(items.length); var count = 0; var returned = false;
items.forEach(function(item, index) { next(item, function(error, transformedItem) { if (returned) return; if (error) { returned = true; return callback(error); } transformed[index] = transformedItem; count += 1; if (count === items.length) return callback(undefined, transformed); }); }); };
if (typeof define !== 'undefined' && define.amd) { define([], function() { return each; }); // RequireJS
} else if (typeof module !== 'undefined' && module.exports) { module.exports = each; // CommonJS
} else { globals.asyncEach = each; // <script>
} })(this);
|