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

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