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

README.md

Async Logo

Github Actions CI status NPM version Coverage Status 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 i async, it can also be used directly in the browser. An ESM/MJS version is included in the main async package that should automatically be used with compatible bundlers such as Webpack and Rollup.

A pure ESM version of Async is available as async-es.

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)
})