You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
YZY eef3e25414
branch149
11 months ago
..
dist branch149 11 months ago
internal branch149 11 months ago
CHANGELOG.md branch149 11 months ago
LICENSE branch149 11 months ago
README.md branch149 11 months ago
all.js branch149 11 months ago
allLimit.js branch149 11 months ago
allSeries.js branch149 11 months ago
any.js branch149 11 months ago
anyLimit.js branch149 11 months ago
anySeries.js branch149 11 months ago
apply.js branch149 11 months ago
applyEach.js branch149 11 months ago
applyEachSeries.js branch149 11 months ago
asyncify.js branch149 11 months ago
auto.js branch149 11 months ago
autoInject.js branch149 11 months ago
bower.json branch149 11 months ago
cargo.js branch149 11 months ago
compose.js branch149 11 months ago
concat.js branch149 11 months ago
concatLimit.js branch149 11 months ago
concatSeries.js branch149 11 months ago
constant.js branch149 11 months ago
detect.js branch149 11 months ago
detectLimit.js branch149 11 months ago
detectSeries.js branch149 11 months ago
dir.js branch149 11 months ago
doDuring.js branch149 11 months ago
doUntil.js branch149 11 months ago
doWhilst.js branch149 11 months ago
during.js branch149 11 months ago
each.js branch149 11 months ago
eachLimit.js branch149 11 months ago
eachOf.js branch149 11 months ago
eachOfLimit.js branch149 11 months ago
eachOfSeries.js branch149 11 months ago
eachSeries.js branch149 11 months ago
ensureAsync.js branch149 11 months ago
every.js branch149 11 months ago
everyLimit.js branch149 11 months ago
everySeries.js branch149 11 months ago
filter.js branch149 11 months ago
filterLimit.js branch149 11 months ago
filterSeries.js branch149 11 months ago
find.js branch149 11 months ago
findLimit.js branch149 11 months ago
findSeries.js branch149 11 months ago
foldl.js branch149 11 months ago
foldr.js branch149 11 months ago
forEach.js branch149 11 months ago
forEachLimit.js branch149 11 months ago
forEachOf.js branch149 11 months ago
forEachOfLimit.js branch149 11 months ago
forEachOfSeries.js branch149 11 months ago
forEachSeries.js branch149 11 months ago
forever.js branch149 11 months ago
groupBy.js branch149 11 months ago
groupByLimit.js branch149 11 months ago
groupBySeries.js branch149 11 months ago
index.js branch149 11 months ago
inject.js branch149 11 months ago
log.js branch149 11 months ago
map.js branch149 11 months ago
mapLimit.js branch149 11 months ago
mapSeries.js branch149 11 months ago
mapValues.js branch149 11 months ago
mapValuesLimit.js branch149 11 months ago
mapValuesSeries.js branch149 11 months ago
memoize.js branch149 11 months ago
nextTick.js branch149 11 months ago
package.json branch149 11 months ago
parallel.js branch149 11 months ago
parallelLimit.js branch149 11 months ago
priorityQueue.js branch149 11 months ago
queue.js branch149 11 months ago
race.js branch149 11 months ago
reduce.js branch149 11 months ago
reduceRight.js branch149 11 months ago
reflect.js branch149 11 months ago
reflectAll.js branch149 11 months ago
reject.js branch149 11 months ago
rejectLimit.js branch149 11 months ago
rejectSeries.js branch149 11 months ago
retry.js branch149 11 months ago
retryable.js branch149 11 months ago
select.js branch149 11 months ago
selectLimit.js branch149 11 months ago
selectSeries.js branch149 11 months ago
seq.js branch149 11 months ago
series.js branch149 11 months ago
setImmediate.js branch149 11 months ago
some.js branch149 11 months ago
someLimit.js branch149 11 months ago
someSeries.js branch149 11 months ago
sortBy.js branch149 11 months ago
timeout.js branch149 11 months ago
times.js branch149 11 months ago
timesLimit.js branch149 11 months ago
timesSeries.js branch149 11 months ago
transform.js branch149 11 months ago
tryEach.js branch149 11 months ago
unmemoize.js branch149 11 months ago
until.js branch149 11 months ago
waterfall.js branch149 11 months ago
whilst.js branch149 11 months ago
wrapSync.js branch149 11 months ago

README.md

Async Logo

Build Status via Travis CI NPM version Coverage Status Join the chat at https://gitter.im/caolan/async 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)
})