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

README.md

Neo-Async

npm Travis Status Coverage Status download Total Alerts

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