All Projects → caolan → Async

caolan / Async

Licence: mit
Async utilities for node and the browser

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Async

Usockets
Miniscule cross-platform eventing, networking & crypto for async applications
Stars: ✭ 611 (-97.77%)
Mutual labels:  async
Continuable
C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)
Stars: ✭ 655 (-97.61%)
Mutual labels:  async
Rawrabbit
A modern .NET framework for communication over RabbitMq
Stars: ✭ 682 (-97.51%)
Mutual labels:  async
Micro Router
🚉 A tiny and functional router for Zeit's Micro
Stars: ✭ 621 (-97.73%)
Mutual labels:  async
P Map
Map over promises concurrently
Stars: ✭ 639 (-97.67%)
Mutual labels:  async
Reservoir
Android library to easily serialize and cache your objects to disk using key/value pairs.
Stars: ✭ 674 (-97.54%)
Mutual labels:  async
Neo Async
Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster
Stars: ✭ 595 (-97.83%)
Mutual labels:  async
Asyncawaitbestpractices
Extensions for System.Threading.Tasks.Task and System.Threading.Tasks.ValueTask
Stars: ✭ 693 (-97.47%)
Mutual labels:  async
Node Sqlite
SQLite client for Node.js applications with SQL-based migrations API written in Typescript
Stars: ✭ 642 (-97.66%)
Mutual labels:  async
G3log
G3log is an asynchronous, "crash safe", logger that is easy to use with default logging sinks or you can add your own. G3log is made with plain C++14 (C++11 support up to release 1.3.2) with no external libraries (except gtest used for unit tests). G3log is made to be cross-platform, currently running on OSX, Windows and several Linux distros. See Readme below for details of usage.
Stars: ✭ 677 (-97.53%)
Mutual labels:  async
Ratchet
Asynchronous WebSocket server
Stars: ✭ 5,596 (-79.57%)
Mutual labels:  async
A Tale Of Three Lists
Comparing various async patterns for a single demo
Stars: ✭ 639 (-97.67%)
Mutual labels:  async
Async Http Client
Asynchronous Http and WebSocket Client library for Java
Stars: ✭ 5,876 (-78.55%)
Mutual labels:  async
Starlette
The little ASGI framework that shines. 🌟
Stars: ✭ 6,337 (-76.86%)
Mutual labels:  async
Swiftcoroutine
Swift coroutines for iOS, macOS and Linux.
Stars: ✭ 690 (-97.48%)
Mutual labels:  async
Funfix
Functional Programming Library for JavaScript, TypeScript and Flow ✨⚡️
Stars: ✭ 596 (-97.82%)
Mutual labels:  async
Kovenant
Kovenant. Promises for Kotlin.
Stars: ✭ 657 (-97.6%)
Mutual labels:  async
Arq
Fast job queuing and RPC in python with asyncio and redis.
Stars: ✭ 695 (-97.46%)
Mutual labels:  async
Vertx Sql Client
High performance reactive SQL Client written in Java
Stars: ✭ 690 (-97.48%)
Mutual labels:  async
Vibora
Fast, asynchronous and elegant Python web framework.
Stars: ✭ 5,734 (-79.07%)
Mutual labels:  async

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)
})
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].