Need help with async?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

caolan
27.1K Stars 2.4K Forks MIT License 1.8K Commits 11 Opened issues

Description

Async utilities for node and the browser

Services available

!
?

Need anything else?

Contributors list

# 3,481
JavaScr...
npm
sparkli...
Shell
400 commits
# 2,036
callbac...
Less
React
ant-des...
168 commits
# 15,221
JavaScr...
Shell
callbac...
CSS
62 commits
# 16,101
JavaScr...
callbac...
genome
C++
28 commits
# 24,788
JavaScr...
Django
React
solidit...
25 commits
# 31,713
JavaScr...
Shell
callbac...
CSS
20 commits
# 2,180
GitHub
TypeScr...
usersty...
phantom...
19 commits
# 45,579
React
JavaScr...
css-in-...
Shell
11 commits
# 45,543
JavaScr...
Shell
callbac...
CSS
10 commits
# 52,295
JavaScr...
callbac...
CSS
Node.js
8 commits
# 52,504
nextjs
React
C
genealo...
7 commits
# 57,028
callbac...
CSS
Node.js
ecosyst...
7 commits
# 12,544
CSS
Electro...
Three.j...
callbac...
7 commits
# 59,103
callbac...
CSS
seleniu...
chromed...
7 commits
# 51,143
npm
Shell
callbac...
CSS
6 commits
# 30,135
node-js
XML
Angular
D
6 commits
# 50,791
JavaScr...
callbac...
CSS
Node.js
6 commits
# 64,496
JavaScr...
Shell
callbac...
CSS
6 commits
# 6,198
Shell
Ruby
nextjs
algolia...
6 commits
# 3,899
JavaScr...
Vue.js
callbac...
Node.js
5 commits

Async Logo

Build Status via Travis CI Build Status via Azure Pipelines 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) })

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.