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

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