Socket
Book a DemoInstallSign in
Socket

async-while

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

async-while

Asynchronous while loops using ES6 Promises.

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
44
300%
Maintainers
1
Weekly downloads
 
Created
Source

Async While

This is a small utility for generating while loops with ES6 Promises.

Install

Download a UMD bundle from the releases page. The variable asyncWhile will be attached to window.

<script type="text/javascript" src="async-while.js"></script>

If using Browserify or Node.js, you can install via NPM.

$ npm install async-while

Usage

First, load async while. By default, the global Promise object is used, but you can create a while generator with a custom Promise class, too.

// simple
var asyncWhile = require("async-while");

// while with Bluebird promises
var Promise = require("bluebird");
var asyncWhile = require("async-while").generate(Promise);

Now, generate a while function with asyncWhile. You'll need two functions: a synchronous condition and an action.

var myWhile = asyncWhile(function(data) {
	// synchronous conditional
	return true;
}, function(data) {
	// loop content goes here
	return doSomethingAsync(data);
});

This is just a method that can be called directly or used in .then() statements.

myWhile(somedata).then(function(result) {
	console.log(result);
});

// or
someAsyncAction().then(myWhile).then(function(result) {
	console.log(result);
});

Here is a common use case of the while loop, processing list items in a series:

function eachSeries(items, onEach, ctx) {
	var index = -1;

	return asyncWhile(function() {
		// bump index before every loop
		index++;

		// synchronously checks if there are more
		return index < items.length;
	}, function() {
		return onEach.call(ctx, items[index], index, items);
	})();
}

Keywords

promise

FAQs

Package last updated on 14 Nov 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts