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

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