"consructor"
as an argument in memoize
(#998)auto
dependency checking fails (#994)pause
in queue
with concurrency enabled (#946)while
and until
now pass the final result to callback (#963)auto
will properly handle concurrency when there is no callback (#966)auto
will now properly stop execution when an error occurs (#988, #993)transform
, analogous to _.transform
(#892)map
now returns an object when an object is passed in, rather than array with non-numeric keys. map
will begin always returning an array with numeric indexes in the next major release. (#873)auto
now accepts an optional concurrency
argument to limit the number of running tasks (#637)queue#workersList()
, to retrieve the list of currently running tasks. (#891)detectLimit
method (#866)asyncify
now supports promises (#840)Limit
versions of filter
and reject
(#836)Limit
versions of detect
, some
and every
(#828, #829)some
, every
and detect
now short circuit early (#828, #829)whilst
now called with arguments from iterator (#823)during
now gets called with arguments from iterator (#824)New Features:
constant
asyncify
/wrapSync
for making sync functions work with callbacks. (#671, #806)during
and doDuring
, which are like whilst
with an async truth test. (#800)retry
now accepts an interval
parameter to specify a delay between retries. (#793)async
should work better in Web Workers due to better root
detection (#804)whilst
, doWhilst
, until
, and doUntil
(#642)Bug Fixes:
cargo
now exposes the payload
size, and cargo.payload
can be changed on the fly after the cargo
is created. (#740, #744, #783)Bug Fix:
eachSeries
with a 1-element array. Before 1.1.0, eachSeries
's callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. (#782)New Features:
timesLimit
(#743)concurrency
can be changed after initialization in queue
by setting q.concurrency
. The new concurrency will be reflected the next time a task is processed. (#747, #772)Bug Fixes:
each
and family with empty arrays that have additional properties. (#775, #777)Bug Fix:
eachSeries
with a 1-element array. Before 1.1.0, eachSeries
's callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. (#782)New Features:
cargo
now supports all of the same methods and event callbacks as queue
.ensureAsync
- A wrapper that ensures an async function calls its callback on a later tick. (#769)map
, eachOf
, and waterfall
families of functionsnull
or undefined
array to map
, each
, parallel
and families will be treated as an empty array (#667).compose
and seq
. (#618)nyc
and coveralls
(#768)Bug Fixes:
forever
will no longer stack overflow with a synchronous iterator (#622)eachLimit
and other limit functions will stop iterating once an error occurs (#754)null
in callbacks when there is no error (#439)drain()
after pushing an empty data set to a queue (#668)each
and family will properly handle an empty array (#578)eachSeries
and family will finish if the underlying array is modified during execution (#557)queue
will throw if a non-function is passed to q.push()
(#593)No known breaking changes, we are simply complying with semver from here on out.
Changes:
forEachOf
for iterating over Objects (or to iterate Arrays with indexes available) (#168 #704 #321)auto
(#663)0
(#714)queue.resume()
(#758)setImmediate
(#609 #611)_each
, _map
and _keys
functions.