diff options
Diffstat (limited to 'lib/race.js')
-rw-r--r-- | lib/race.js | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/race.js b/lib/race.js index 0593a72..05101a3 100644 --- a/lib/race.js +++ b/lib/race.js @@ -1,6 +1,6 @@ -import noop from './internal/noop'; import once from './internal/once'; import wrapAsync from './internal/wrapAsync'; +import awaitify from './internal/awaitify'; /** * Runs the `tasks` array of functions in parallel, without waiting until the @@ -38,11 +38,13 @@ import wrapAsync from './internal/wrapAsync'; * // the result will be equal to 'two' as it finishes earlier * }); */ -export default function race(tasks, callback) { - callback = once(callback || noop); +function race(tasks, callback) { + callback = once(callback); if (!Array.isArray(tasks)) return callback(new TypeError('First argument to race must be an array of functions')); if (!tasks.length) return callback(); for (var i = 0, l = tasks.length; i < l; i++) { wrapAsync(tasks[i])(callback); } } + +export default awaitify(race, 2) |