summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorCaolan McMahon <caolan@caolanmcmahon.com>2014-03-28 15:12:02 +0000
committerCaolan McMahon <caolan@caolanmcmahon.com>2014-03-28 15:12:20 +0000
commit9f57a352bbaba436db11f8885e460eaa81d97b75 (patch)
tree418e55d7460173fcaa9c5e6692113f09e10e2615 /lib
parent29f97dde28f0a2572628f894863c355af9130004 (diff)
downloadasync-9f57a352bbaba436db11f8885e460eaa81d97b75.tar.gz
use internal _isArray function
Diffstat (limited to 'lib')
-rwxr-xr-xlib/async.js14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/async.js b/lib/async.js
index 6568025..7dfef34 100755
--- a/lib/async.js
+++ b/lib/async.js
@@ -27,6 +27,10 @@
//// cross-browser compatiblity functions ////
+ var _isArray = Array.isArray || function (obj) {
+ return toString.call(obj) === '[object Array]';
+ };
+
var _each = function (arr, iterator) {
if (arr.forEach) {
return arr.forEach(iterator);
@@ -475,7 +479,7 @@
async.waterfall = function (tasks, callback) {
callback = callback || function () {};
- if (tasks.constructor !== Array) {
+ if (!_isArray(tasks)) {
var err = new Error('First argument to waterfall must be an array of functions');
return callback(err);
}
@@ -508,7 +512,7 @@
var _parallel = function(eachfn, tasks, callback) {
callback = callback || function () {};
- if (tasks.constructor === Array) {
+ if (_isArray(tasks)) {
eachfn.map(tasks, function (fn, callback) {
if (fn) {
fn(function (err) {
@@ -548,7 +552,7 @@
async.series = function (tasks, callback) {
callback = callback || function () {};
- if (tasks.constructor === Array) {
+ if (_isArray(tasks)) {
async.mapSeries(tasks, function (fn, callback) {
if (fn) {
fn(function (err) {
@@ -678,7 +682,7 @@
concurrency = 1;
}
function _insert(q, data, pos, callback) {
- if(data.constructor !== Array) {
+ if (!_isArray(data)) {
data = [data];
}
if(data.length == 0) {
@@ -764,7 +768,7 @@
drain: null,
drained: true,
push: function (data, callback) {
- if(data.constructor !== Array) {
+ if (!_isArray(data)) {
data = [data];
}
_each(data, function(task) {