1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| 'use strict';
|
| module.exports = function each(arr, cb, done) {
| if (arr.length === 0) {
| return done();
| }
|
| let remaining = arr.length;
| let err = null;
| for (const v of arr) {
| cb(v, function(_err) {
| if (err != null) {
| return;
| }
| if (_err != null) {
| err = _err;
| return done(err);
| }
|
| if (--remaining <= 0) {
| return done();
| }
| });
| }
| };
|
|