metasync
metasync copied to clipboard
Asynchronous Programming Library for JavaScript & Node.js
Those examples will show: - How to compose function parallel and series - How to use: cancelable, timeout, throttle, etc. - How to pass data between functions - How to...
We remove tasks from `queue.waiting` but don't remove tasks from `queue.factors`
- Parallel execution context should be immutable because changes have unpredictable sequence - Sequential execution context may not be immutable because changes have predictable sequence
Compare ```js Array.prototype.reduce((previous, current, index, array) => (result) [, initial]) : Array ``` and current implementation: ```js metasync.reduce( array, (previous, current, callback, index, array) => callback(result) [, initial] ); ```...
Add `maxParallel` to all functions in `lib/arra.js` to limit concurrent execution in parallel (for large collections).
Both abstraction queue and pool can solve task of concurrent resource sharing in async programming so we can compare performance and code readability.
Issue #268 contains events: `add`, `del` and `clear`. We need additional events: - `memoized.on('timeout', (key) => {})` - `memoized.on('memoize', (key, err, data) => {})` - `memoized.on('overflow', (key) => {})`
- Combine callback, chain/do, async composition (parallel and series control flow), promise (thenable), collector and events to single abstraction - Implement mentioned abstraction with functional object - Unify syntax from...