HaXeho e0dad002ed first commit 10 months ago
..
dist e0dad002ed first commit 10 months ago
internal e0dad002ed first commit 10 months ago
CHANGELOG.md e0dad002ed first commit 10 months ago
LICENSE e0dad002ed first commit 10 months ago
README.md e0dad002ed first commit 10 months ago
all.js e0dad002ed first commit 10 months ago
allLimit.js e0dad002ed first commit 10 months ago
allSeries.js e0dad002ed first commit 10 months ago
any.js e0dad002ed first commit 10 months ago
anyLimit.js e0dad002ed first commit 10 months ago
anySeries.js e0dad002ed first commit 10 months ago
apply.js e0dad002ed first commit 10 months ago
applyEach.js e0dad002ed first commit 10 months ago
applyEachSeries.js e0dad002ed first commit 10 months ago
asyncify.js e0dad002ed first commit 10 months ago
auto.js e0dad002ed first commit 10 months ago
autoInject.js e0dad002ed first commit 10 months ago
bower.json e0dad002ed first commit 10 months ago
cargo.js e0dad002ed first commit 10 months ago
compose.js e0dad002ed first commit 10 months ago
concat.js e0dad002ed first commit 10 months ago
concatLimit.js e0dad002ed first commit 10 months ago
concatSeries.js e0dad002ed first commit 10 months ago
constant.js e0dad002ed first commit 10 months ago
detect.js e0dad002ed first commit 10 months ago
detectLimit.js e0dad002ed first commit 10 months ago
detectSeries.js e0dad002ed first commit 10 months ago
dir.js e0dad002ed first commit 10 months ago
doDuring.js e0dad002ed first commit 10 months ago
doUntil.js e0dad002ed first commit 10 months ago
doWhilst.js e0dad002ed first commit 10 months ago
during.js e0dad002ed first commit 10 months ago
each.js e0dad002ed first commit 10 months ago
eachLimit.js e0dad002ed first commit 10 months ago
eachOf.js e0dad002ed first commit 10 months ago
eachOfLimit.js e0dad002ed first commit 10 months ago
eachOfSeries.js e0dad002ed first commit 10 months ago
eachSeries.js e0dad002ed first commit 10 months ago
ensureAsync.js e0dad002ed first commit 10 months ago
every.js e0dad002ed first commit 10 months ago
everyLimit.js e0dad002ed first commit 10 months ago
everySeries.js e0dad002ed first commit 10 months ago
filter.js e0dad002ed first commit 10 months ago
filterLimit.js e0dad002ed first commit 10 months ago
filterSeries.js e0dad002ed first commit 10 months ago
find.js e0dad002ed first commit 10 months ago
findLimit.js e0dad002ed first commit 10 months ago
findSeries.js e0dad002ed first commit 10 months ago
foldl.js e0dad002ed first commit 10 months ago
foldr.js e0dad002ed first commit 10 months ago
forEach.js e0dad002ed first commit 10 months ago
forEachLimit.js e0dad002ed first commit 10 months ago
forEachOf.js e0dad002ed first commit 10 months ago
forEachOfLimit.js e0dad002ed first commit 10 months ago
forEachOfSeries.js e0dad002ed first commit 10 months ago
forEachSeries.js e0dad002ed first commit 10 months ago
forever.js e0dad002ed first commit 10 months ago
groupBy.js e0dad002ed first commit 10 months ago
groupByLimit.js e0dad002ed first commit 10 months ago
groupBySeries.js e0dad002ed first commit 10 months ago
index.js e0dad002ed first commit 10 months ago
inject.js e0dad002ed first commit 10 months ago
log.js e0dad002ed first commit 10 months ago
map.js e0dad002ed first commit 10 months ago
mapLimit.js e0dad002ed first commit 10 months ago
mapSeries.js e0dad002ed first commit 10 months ago
mapValues.js e0dad002ed first commit 10 months ago
mapValuesLimit.js e0dad002ed first commit 10 months ago
mapValuesSeries.js e0dad002ed first commit 10 months ago
memoize.js e0dad002ed first commit 10 months ago
nextTick.js e0dad002ed first commit 10 months ago
package.json e0dad002ed first commit 10 months ago
parallel.js e0dad002ed first commit 10 months ago
parallelLimit.js e0dad002ed first commit 10 months ago
priorityQueue.js e0dad002ed first commit 10 months ago
queue.js e0dad002ed first commit 10 months ago
race.js e0dad002ed first commit 10 months ago
reduce.js e0dad002ed first commit 10 months ago
reduceRight.js e0dad002ed first commit 10 months ago
reflect.js e0dad002ed first commit 10 months ago
reflectAll.js e0dad002ed first commit 10 months ago
reject.js e0dad002ed first commit 10 months ago
rejectLimit.js e0dad002ed first commit 10 months ago
rejectSeries.js e0dad002ed first commit 10 months ago
retry.js e0dad002ed first commit 10 months ago
retryable.js e0dad002ed first commit 10 months ago
select.js e0dad002ed first commit 10 months ago
selectLimit.js e0dad002ed first commit 10 months ago
selectSeries.js e0dad002ed first commit 10 months ago
seq.js e0dad002ed first commit 10 months ago
series.js e0dad002ed first commit 10 months ago
setImmediate.js e0dad002ed first commit 10 months ago
some.js e0dad002ed first commit 10 months ago
someLimit.js e0dad002ed first commit 10 months ago
someSeries.js e0dad002ed first commit 10 months ago
sortBy.js e0dad002ed first commit 10 months ago
timeout.js e0dad002ed first commit 10 months ago
times.js e0dad002ed first commit 10 months ago
timesLimit.js e0dad002ed first commit 10 months ago
timesSeries.js e0dad002ed first commit 10 months ago
transform.js e0dad002ed first commit 10 months ago
tryEach.js e0dad002ed first commit 10 months ago
unmemoize.js e0dad002ed first commit 10 months ago
until.js e0dad002ed first commit 10 months ago
waterfall.js e0dad002ed first commit 10 months ago
whilst.js e0dad002ed first commit 10 months ago
wrapSync.js e0dad002ed first commit 10 months ago

README.md

Async Logo

Build Status via Travis CI NPM version Coverage Status libhive - Open source examples jsDelivr Hits

Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Although originally designed for use with Node.js and installable via npm install --save async, it can also be used directly in the browser.

This version of the package is optimized for the Node.js environment. If you use Async with webpack, install async-es instead.

For Documentation, visit https://caolan.github.io/async/

For Async v1.5.x documentation, go HERE

// for use with Node-style callbacks...
var async = require("async");

var obj = {dev: "/dev.json", test: "/test.json", prod: "/prod.json"};
var configs = {};

async.forEachOf(obj, (value, key, callback) => {
    fs.readFile(__dirname + value, "utf8", (err, data) => {
        if (err) return callback(err);
        try {
            configs[key] = JSON.parse(data);
        } catch (e) {
            return callback(e);
        }
        callback();
    });
}, err => {
    if (err) console.error(err.message);
    // configs is now a map of JSON data
    doSomethingWith(configs);
});
var async = require("async");

// ...or ES2017 async functions
async.mapLimit(urls, 5, async function(url) {
    const response = await fetch(url)
    return response.body
}, (err, results) => {
    if (err) throw err
    // results is now an array of the response bodies
    console.log(results)
})