summaryrefslogtreecommitdiff
path: root/lib/doWhilst.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/doWhilst.js')
-rw-r--r--lib/doWhilst.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/doWhilst.js b/lib/doWhilst.js
index 1cd56a7..54c8303 100644
--- a/lib/doWhilst.js
+++ b/lib/doWhilst.js
@@ -2,6 +2,27 @@
import whilst from './whilst';
+/**
+ * The post-check version of [`whilst`](#whilst). To reflect the difference in
+ * the order of operations, the arguments `test` and `fn` are switched.
+ *
+ * `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.
+ *
+ * @name doWhilst
+ * @static
+ * @memberOf async
+ * @see `async.whilst`
+ * @category Control Flow
+ * @param {Function} fn - A function which is called each time `test` passes.
+ * The function is passed a `callback(err)`, which must be called once it has
+ * completed with an optional `err` argument. Invoked with (callback).
+ * @param {Function} test - synchronous truth test to perform before each
+ * execution of `fn`. Invoked with ().
+ * @param {Function} [callback] - A callback which is called after the test
+ * function has failed and repeated execution of `fn` has stopped. `callback`
+ * will be passed an error and any arguments passed to the final `fn`'s
+ * callback. Invoked with (err, [results]);
+ */
export default function doWhilst(iteratee, test, cb) {
var calls = 0;
return whilst(function() {