summaryrefslogtreecommitdiff
path: root/lib/race.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/race.js')
-rw-r--r--lib/race.js8
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)