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

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