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.
wang 6d54ecbe66
merge main
3 months ago
..
LICENSE merge main 3 months ago
README.md merge main 3 months ago
all.js merge main 3 months ago
allLimit.js merge main 3 months ago
allSeries.js merge main 3 months ago
angelFall.js merge main 3 months ago
any.js merge main 3 months ago
anyLimit.js merge main 3 months ago
anySeries.js merge main 3 months ago
apply.js merge main 3 months ago
applyEach.js merge main 3 months ago
applyEachSeries.js merge main 3 months ago
async.js merge main 3 months ago
async.min.js merge main 3 months ago
asyncify.js merge main 3 months ago
auto.js merge main 3 months ago
autoInject.js merge main 3 months ago
cargo.js merge main 3 months ago
compose.js merge main 3 months ago
concat.js merge main 3 months ago
concatLimit.js merge main 3 months ago
concatSeries.js merge main 3 months ago
constant.js merge main 3 months ago
createLogger.js merge main 3 months ago
detect.js merge main 3 months ago
detectLimit.js merge main 3 months ago
detectSeries.js merge main 3 months ago
dir.js merge main 3 months ago
doDuring.js merge main 3 months ago
doUntil.js merge main 3 months ago
doWhilst.js merge main 3 months ago
during.js merge main 3 months ago
each.js merge main 3 months ago
eachLimit.js merge main 3 months ago
eachOf.js merge main 3 months ago
eachOfLimit.js merge main 3 months ago
eachOfSeries.js merge main 3 months ago
eachSeries.js merge main 3 months ago
ensureAsync.js merge main 3 months ago
every.js merge main 3 months ago
everyLimit.js merge main 3 months ago
everySeries.js merge main 3 months ago
fast.js merge main 3 months ago
filter.js merge main 3 months ago
filterLimit.js merge main 3 months ago
filterSeries.js merge main 3 months ago
find.js merge main 3 months ago
findLimit.js merge main 3 months ago
findSeries.js merge main 3 months ago
foldl.js merge main 3 months ago
foldr.js merge main 3 months ago
forEach.js merge main 3 months ago
forEachLimit.js merge main 3 months ago
forEachOf.js merge main 3 months ago
forEachOfLimit.js merge main 3 months ago
forEachOfSeries.js merge main 3 months ago
forEachSeries.js merge main 3 months ago
forever.js merge main 3 months ago
groupBy.js merge main 3 months ago
groupByLimit.js merge main 3 months ago
groupBySeries.js merge main 3 months ago
inject.js merge main 3 months ago
iterator.js merge main 3 months ago
log.js merge main 3 months ago
map.js merge main 3 months ago
mapLimit.js merge main 3 months ago
mapSeries.js merge main 3 months ago
mapValues.js merge main 3 months ago
mapValuesLimit.js merge main 3 months ago
mapValuesSeries.js merge main 3 months ago
memoize.js merge main 3 months ago
nextTick.js merge main 3 months ago
omit.js merge main 3 months ago
omitLimit.js merge main 3 months ago
omitSeries.js merge main 3 months ago
package.json merge main 3 months ago
parallel.js merge main 3 months ago
parallelLimit.js merge main 3 months ago
pick.js merge main 3 months ago
pickLimit.js merge main 3 months ago
pickSeries.js merge main 3 months ago
priorityQueue.js merge main 3 months ago
queue.js merge main 3 months ago
race.js merge main 3 months ago
reduce.js merge main 3 months ago
reduceRight.js merge main 3 months ago
reflect.js merge main 3 months ago
reflectAll.js merge main 3 months ago
reject.js merge main 3 months ago
rejectLimit.js merge main 3 months ago
rejectSeries.js merge main 3 months ago
retry.js merge main 3 months ago
retryable.js merge main 3 months ago
safe.js merge main 3 months ago
select.js merge main 3 months ago
selectLimit.js merge main 3 months ago
selectSeries.js merge main 3 months ago
seq.js merge main 3 months ago
series.js merge main 3 months ago
setImmediate.js merge main 3 months ago
some.js merge main 3 months ago
someLimit.js merge main 3 months ago
someSeries.js merge main 3 months ago
sortBy.js merge main 3 months ago
sortByLimit.js merge main 3 months ago
sortBySeries.js merge main 3 months ago
timeout.js merge main 3 months ago
times.js merge main 3 months ago
timesLimit.js merge main 3 months ago
timesSeries.js merge main 3 months ago
transform.js merge main 3 months ago
transformLimit.js merge main 3 months ago
transformSeries.js merge main 3 months ago
tryEach.js merge main 3 months ago
unmemoize.js merge main 3 months ago
until.js merge main 3 months ago
waterfall.js merge main 3 months ago
whilst.js merge main 3 months ago
wrapSync.js merge main 3 months ago

README.md

Neo-Async

npm Travis Status Coverage Status download Code Quality: Javascript Total Alerts FOSSA

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

  • Darwin 17.3.0 x64
  • Node.js v8.9.4
  • async v2.6.0
  • neo-async v2.5.0
  • benchmark v2.1.4

Result

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

Collections

function benchmark
each/forEach 2.43
eachSeries/forEachSeries 1.75
eachLimit/forEachLimit 1.68
eachOf 3.29
eachOfSeries 1.50
eachOfLimit 1.59
map 3.95
mapSeries 1.81
mapLimit 1.27
mapValues 2.73
mapValuesSeries 1.59
mapValuesLimit 1.23
filter 3.00
filterSeries 1.74
filterLimit 1.17
reject 4.59
rejectSeries 2.31
rejectLimit 1.58
detect 4.30
detectSeries 1.86
detectLimit 1.32
reduce 1.82
transform 2.46
sortBy 4.08
some 2.19
someSeries 1.83
someLimit 1.32
every 2.09
everySeries 1.84
everyLimit 1.35
concat 3.79
concatSeries 4.45

Control Flow

funciton benchmark
parallel 2.93
series 1.96
waterfall 1.29
whilst 1.00
doWhilst 1.12
until 1.12
doUntil 1.12
during 1.18
doDuring 2.42
times 4.25
auto 1.97

License

FOSSA Status