Front end of the Slack clone application.
Nicholas 4f3c02d688 Ready to merge into master 6 jaren geleden
..
LICENSE Ready to merge into master 6 jaren geleden
README.md root page set 6 jaren geleden
all.js root page set 6 jaren geleden
allLimit.js root page set 6 jaren geleden
allSeries.js root page set 6 jaren geleden
angelFall.js root page set 6 jaren geleden
any.js root page set 6 jaren geleden
anyLimit.js root page set 6 jaren geleden
anySeries.js root page set 6 jaren geleden
apply.js root page set 6 jaren geleden
applyEach.js root page set 6 jaren geleden
applyEachSeries.js root page set 6 jaren geleden
async.js root page set 6 jaren geleden
async.min.js root page set 6 jaren geleden
asyncify.js root page set 6 jaren geleden
auto.js root page set 6 jaren geleden
autoInject.js root page set 6 jaren geleden
cargo.js root page set 6 jaren geleden
compose.js root page set 6 jaren geleden
concat.js root page set 6 jaren geleden
concatLimit.js root page set 6 jaren geleden
concatSeries.js root page set 6 jaren geleden
constant.js root page set 6 jaren geleden
createLogger.js root page set 6 jaren geleden
detect.js root page set 6 jaren geleden
detectLimit.js root page set 6 jaren geleden
detectSeries.js root page set 6 jaren geleden
dir.js root page set 6 jaren geleden
doDuring.js root page set 6 jaren geleden
doUntil.js root page set 6 jaren geleden
doWhilst.js root page set 6 jaren geleden
during.js root page set 6 jaren geleden
each.js root page set 6 jaren geleden
eachLimit.js root page set 6 jaren geleden
eachOf.js root page set 6 jaren geleden
eachOfLimit.js root page set 6 jaren geleden
eachOfSeries.js root page set 6 jaren geleden
eachSeries.js root page set 6 jaren geleden
ensureAsync.js root page set 6 jaren geleden
every.js root page set 6 jaren geleden
everyLimit.js root page set 6 jaren geleden
everySeries.js root page set 6 jaren geleden
fast.js root page set 6 jaren geleden
filter.js root page set 6 jaren geleden
filterLimit.js root page set 6 jaren geleden
filterSeries.js root page set 6 jaren geleden
find.js root page set 6 jaren geleden
findLimit.js root page set 6 jaren geleden
findSeries.js root page set 6 jaren geleden
foldl.js root page set 6 jaren geleden
foldr.js root page set 6 jaren geleden
forEach.js root page set 6 jaren geleden
forEachLimit.js root page set 6 jaren geleden
forEachOf.js root page set 6 jaren geleden
forEachOfLimit.js root page set 6 jaren geleden
forEachOfSeries.js root page set 6 jaren geleden
forEachSeries.js root page set 6 jaren geleden
forever.js root page set 6 jaren geleden
groupBy.js root page set 6 jaren geleden
groupByLimit.js root page set 6 jaren geleden
groupBySeries.js root page set 6 jaren geleden
inject.js root page set 6 jaren geleden
iterator.js root page set 6 jaren geleden
log.js root page set 6 jaren geleden
map.js root page set 6 jaren geleden
mapLimit.js root page set 6 jaren geleden
mapSeries.js root page set 6 jaren geleden
mapValues.js root page set 6 jaren geleden
mapValuesLimit.js root page set 6 jaren geleden
mapValuesSeries.js root page set 6 jaren geleden
memoize.js root page set 6 jaren geleden
nextTick.js root page set 6 jaren geleden
omit.js root page set 6 jaren geleden
omitLimit.js root page set 6 jaren geleden
omitSeries.js root page set 6 jaren geleden
package.json root page set 6 jaren geleden
parallel.js root page set 6 jaren geleden
parallelLimit.js root page set 6 jaren geleden
pick.js root page set 6 jaren geleden
pickLimit.js root page set 6 jaren geleden
pickSeries.js root page set 6 jaren geleden
priorityQueue.js root page set 6 jaren geleden
queue.js root page set 6 jaren geleden
race.js root page set 6 jaren geleden
reduce.js root page set 6 jaren geleden
reduceRight.js root page set 6 jaren geleden
reflect.js root page set 6 jaren geleden
reflectAll.js root page set 6 jaren geleden
reject.js root page set 6 jaren geleden
rejectLimit.js root page set 6 jaren geleden
rejectSeries.js root page set 6 jaren geleden
retry.js root page set 6 jaren geleden
retryable.js root page set 6 jaren geleden
safe.js root page set 6 jaren geleden
select.js root page set 6 jaren geleden
selectLimit.js root page set 6 jaren geleden
selectSeries.js root page set 6 jaren geleden
seq.js root page set 6 jaren geleden
series.js root page set 6 jaren geleden
setImmediate.js root page set 6 jaren geleden
some.js root page set 6 jaren geleden
someLimit.js root page set 6 jaren geleden
someSeries.js root page set 6 jaren geleden
sortBy.js root page set 6 jaren geleden
sortByLimit.js root page set 6 jaren geleden
sortBySeries.js root page set 6 jaren geleden
timeout.js root page set 6 jaren geleden
times.js root page set 6 jaren geleden
timesLimit.js root page set 6 jaren geleden
timesSeries.js root page set 6 jaren geleden
transform.js root page set 6 jaren geleden
transformLimit.js root page set 6 jaren geleden
transformSeries.js root page set 6 jaren geleden
tryEach.js root page set 6 jaren geleden
unmemoize.js root page set 6 jaren geleden
until.js root page set 6 jaren geleden
waterfall.js root page set 6 jaren geleden
whilst.js root page set 6 jaren geleden
wrapSync.js root page set 6 jaren geleden

README.md

Neo-Async

npm Travis Status Coverage Status download

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