Home

Awesome

<h1 align="center">Neo-Async</h1> <p align="center"> <img src="https://raw.githubusercontent.com/wiki/suguru03/neo-async/images/neo_async_v2.png" width="250px" /> </p> <p align="center"> <a href="https://www.npmjs.com/package/neo-async"><img alt="npm" src="https://img.shields.io/npm/v/neo-async.svg"></a> <a href="https://travis-ci.org/suguru03/neo-async"><img alt="Travis Status" src="https://img.shields.io/travis/suguru03/neo-async.svg"></a> <a href="https://codecov.io/gh/suguru03/neo-async"><img alt="Coverage Status" src="https://img.shields.io/codecov/c/github/suguru03/neo-async/master.svg"></a> <a href="https://www.npmjs.com/package/neo-async"><img alt="download" src="https://img.shields.io/npm/dm/neo-async.svg"></a> <a href="https://lgtm.com/projects/g/suguru03/neo-async/context:javascript"><img src="https://img.shields.io/lgtm/grade/javascript/g/suguru03/neo-async.svg?logo=lgtm&logoWidth=18" alt="Code Quality: Javascript" height="18"></a> <a href="https://lgtm.com/projects/g/suguru03/neo-async/alerts"><img src="https://img.shields.io/lgtm/alerts/g/suguru03/neo-async.svg?logo=lgtm&logoWidth=18" alt="Total Alerts" height="18"></a> <a href="https://app.fossa.io/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async?ref=badge_shield"><img src="https://app.fossa.io/api/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async.svg?type=shield" alt="FOSSA" height="18"></a> </p>

Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster.

Benchmark is here!

Bluebird's benchmark is here!

Code Coverage

coverage

Installation

In a browser

<script src="async.min.js"></script>

In an AMD loader

require(['async'], function(async) {});

Promise and async/await

I recommend to use Aigle.

It is optimized for Promise handling and has almost the same functionality as neo-async.

Node.js

standard

$ npm install neo-async
var async = require('neo-async');

replacement

$ npm install neo-async
$ ln -s ./node_modules/neo-async ./node_modules/async
var async = require('async');

Bower

bower install neo-async

Feature

JSDoc

* not in Async

Collections

Control Flow

Utils

Mode

Benchmark

Benchmark: Async vs Neo-Async

How to check

$ node perf

Environment

Result

The value is the ratio (Neo-Async/Async) of the average speed.

Collections

functionbenchmark
each/forEach2.43
eachSeries/forEachSeries1.75
eachLimit/forEachLimit1.68
eachOf3.29
eachOfSeries1.50
eachOfLimit1.59
map3.95
mapSeries1.81
mapLimit1.27
mapValues2.73
mapValuesSeries1.59
mapValuesLimit1.23
filter3.00
filterSeries1.74
filterLimit1.17
reject4.59
rejectSeries2.31
rejectLimit1.58
detect4.30
detectSeries1.86
detectLimit1.32
reduce1.82
transform2.46
sortBy4.08
some2.19
someSeries1.83
someLimit1.32
every2.09
everySeries1.84
everyLimit1.35
concat3.79
concatSeries4.45

Control Flow

funcitonbenchmark
parallel2.93
series1.96
waterfall1.29
whilst1.00
doWhilst1.12
until1.12
doUntil1.12
during1.18
doDuring2.42
times4.25
auto1.97

License

FOSSA Status