Skip to content

While a condition returns true, calls a function repeatedly, and then resolves the promise

License

Notifications You must be signed in to change notification settings

sindresorhus/p-whilst

Repository files navigation

p-whilst

While a condition returns true, calls a function repeatedly, and then resolves the promise

Think async version of the while statement.

Install

npm install p-whilst

Usage

import pWhilst from 'p-whilst';

let count = 0;

await pWhilst(
	() => count < 5,
	() => count++
);

console.log(count);
//=> 5

API

pWhilst(condition, action, initialValue?)

While condition returns true, executes action repeatedly, and then resolves the promise to the result of the last call to action. Rejects if action returns a promise that rejects or if an error is thrown anywhere.

condition

Type: Function Arguments: The value the action function returns or initialValue for the first iteration.

Expected to return a boolean or a Promise<boolean> that indicates whether to execute action.

action

Type: Function Arguments: The value the last call to action function returns.

Action to run for each iteration.

You can return a promise and it will be handled.

Related

  • p-do-whilst - Calls a function repeatedly while a condition returns true and then resolves the promise
  • p-forever - Run promise-returning & async functions repeatedly until you end it
  • p-wait-for - Wait for a condition to be true
  • More…