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

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