123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- (function(exports) {
-
- exports.forEach = function(arr, eachFn, doneFn) {
- var i = -1;
-
- var len = arr.length >>> 0;
-
-
- (function next(result) {
-
-
- var async;
-
-
- var abort = result === false;
-
-
- do { ++i; } while (!(i in arr) && i !== len);
-
-
- if (abort || i === len) {
-
-
- if (doneFn) {
- doneFn(!abort, arr);
- }
- return;
- }
-
-
-
- result = eachFn.call({
-
-
- async: function() {
- async = true;
- return next;
- }
- }, arr[i], i, arr);
-
-
- if (!async) {
- next(result);
- }
- }());
- };
- }(typeof exports === "object" && exports || this));
|