summaryrefslogtreecommitdiff
path: root/lib/async.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/async.js')
-rw-r--r--lib/async.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/async.js b/lib/async.js
index 58b11d9..abc1f7b 100644
--- a/lib/async.js
+++ b/lib/async.js
@@ -335,7 +335,7 @@
}
function _asyncMap(eachfn, arr, iterator, callback) {
- callback = callback || noop;
+ callback = _once(callback || noop);
var results = [];
eachfn(arr, function (value, index, callback) {
iterator(value, function (err, v) {
@@ -822,7 +822,7 @@
_arrayEach(data, function(task) {
var item = {
data: task,
- callback: typeof callback === 'function' ? callback : noop
+ callback: callback || noop
};
if (pos) {
@@ -1077,7 +1077,14 @@
return function () {
var that = this;
var args = _baseSlice(arguments);
- var callback = args.pop();
+
+ var callback = args.slice(-1)[0];
+ if (typeof callback == 'function') {
+ args.pop();
+ } else {
+ callback = noop;
+ }
+
async.reduce(fns, args, function (newargs, fn, cb) {
fn.apply(that, newargs.concat([function () {
var err = arguments[0];