max_liu b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
..
LICENSE b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
README.md b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
all.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
allLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
allSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
angelFall.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
any.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
anyLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
anySeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
apply.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
applyEach.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
applyEachSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
async.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
async.min.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
asyncify.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
auto.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
autoInject.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
cargo.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
compose.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
concat.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
concatLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
concatSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
constant.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
createLogger.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
detect.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
detectLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
detectSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
dir.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
doDuring.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
doUntil.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
doWhilst.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
during.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
each.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
eachLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
eachOf.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
eachOfLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
eachOfSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
eachSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
ensureAsync.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
every.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
everyLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
everySeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
fast.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
filter.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
filterLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
filterSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
find.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
findLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
findSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
foldl.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
foldr.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
forEach.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
forEachLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
forEachOf.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
forEachOfLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
forEachOfSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
forEachSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
forever.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
groupBy.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
groupByLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
groupBySeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
inject.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
iterator.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
log.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
map.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
mapLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
mapSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
mapValues.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
mapValuesLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
mapValuesSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
memoize.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
nextTick.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
omit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
omitLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
omitSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
package.json b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
parallel.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
parallelLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
pick.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
pickLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
pickSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
priorityQueue.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
queue.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
race.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
reduce.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
reduceRight.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
reflect.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
reflectAll.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
reject.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
rejectLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
rejectSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
retry.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
retryable.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
safe.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
select.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
selectLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
selectSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
seq.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
series.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
setImmediate.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
some.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
someLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
someSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
sortBy.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
sortByLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
sortBySeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
timeout.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
times.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
timesLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
timesSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
transform.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
transformLimit.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
transformSeries.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
tryEach.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
unmemoize.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
until.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
waterfall.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
whilst.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ
wrapSync.js b7ab7c8514 chore: 更新node_modules依赖文件 2 mēneši atpakaļ

README.md

Neo-Async

npm Travis Status Coverage Status download 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