The async lib will still be developed, and will aim to be as comprehensive as possible.
This library was created because I often include both async and underscore in client-side projects, which seems a bit overkill when every kb matters.
I've also looked into combining the features of async with underscore in the past. However, I don't believe its possible without backward incompatible changes, or a separate API (one for sync one for async). Nimble is an experiment in how a combined API might work, and uses some interesting tricks regarding function arity to support something closer to the standard map/filter/reduce, while still being convenient to use with callbacks.
For example, you can do the following:
_.map(arr, function (val, callback) {
...
}, main_callback);
but you can also do this:
_.map(arr, function (val, key, arr, callback) {
...
}, main_callback);
4 comments
[ 4.9 ms ] story [ 16.7 ms ] threadThis library was created because I often include both async and underscore in client-side projects, which seems a bit overkill when every kb matters.
I've also looked into combining the features of async with underscore in the past. However, I don't believe its possible without backward incompatible changes, or a separate API (one for sync one for async). Nimble is an experiment in how a combined API might work, and uses some interesting tricks regarding function arity to support something closer to the standard map/filter/reduce, while still being convenient to use with callbacks.
For example, you can do the following:
_.map(arr, function (val, callback) { ... }, main_callback);
but you can also do this:
_.map(arr, function (val, key, arr, callback) { ... }, main_callback);
And it will still work as expected.