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