| 123456789101112131415161718192021 | module.exports = function (arr, iterator, callback) {  callback = callback || function () {};  if (!Array.isArray(arr) || !arr.length) {      return callback();  }  var completed = 0;  var iterate = function () {    iterator(arr[completed], function (err) {      if (err) {        callback(err);        callback = function () {};      }      else {        ++completed;        if (completed >= arr.length) { callback(); }        else { iterate(); }      }    });  };  iterate();};
 |