You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
wangwei_123 b8cba4f82a 初始化一套 10 months ago
..
dist 初始化一套 10 months ago
internal 初始化一套 10 months ago
CHANGELOG.md 初始化一套 10 months ago
LICENSE 初始化一套 10 months ago
README.md 初始化一套 10 months ago
apply.js 初始化一套 10 months ago
autoInject.js 初始化一套 10 months ago
cargo.js 初始化一套 10 months ago
detectLimit.js 初始化一套 10 months ago
during.js 初始化一套 10 months ago
eachSeries.js 初始化一套 10 months ago
everySeries.js 初始化一套 10 months ago
filterLimit.js 初始化一套 10 months ago
flatMapLimit.js 初始化一套 10 months ago
foldl.js 初始化一套 10 months ago
forever.js 初始化一套 10 months ago
groupByLimit.js 初始化一套 10 months ago
groupBySeries.js 初始化一套 10 months ago
index.js 初始化一套 10 months ago
log.js 初始化一套 10 months ago
mapValuesSeries.js 初始化一套 10 months ago
memoize.js 初始化一套 10 months ago
parallel.js 初始化一套 10 months ago
queue.js 初始化一套 10 months ago
reduceRight.js 初始化一套 10 months ago
reflectAll.js 初始化一套 10 months ago
rejectLimit.js 初始化一套 10 months ago
retryable.js 初始化一套 10 months ago
sortBy.js 初始化一套 10 months ago

README.md

Async Logo

Github Actions CI status NPM version Coverage Status Join the chat at https://gitter.im/caolan/async 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. 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)
})