When.js also provides Promise-related concepts.
This refers to joining and chaining.
When.js has a robust unit test suite.
What is new in this release:
- Fix when.settle unhandled rejection reporting case.
What is new in version 3.7.3:
- Fix when.settle unhandled rejection reporting case.
What is new in version 3.7.2:
- Fix when.settle unhandled rejection reporting case.
What is new in version 3.6.3:
- Fixed regression in when/callbacks introduced in 3.6.1.
What is new in version 3.5.2:
- Prevent minifiers from clobbering unhandled rejection reporting if they remove console.* calls. Unhandled rejections will be reported even when using Uglify drop_console.
- when/function.apply now handles passing an Arguments object directly, e.g. fn.apply(f, arguments);. Use with care: v8 will deoptimize any function where you pass arguments to another function.
What is new in version 3.4.4:
- Workaround for node 0.10.30 setTimeout bug.
What is new in version 3.4.1:
- Fix for promise.finally not waiting on returned promises.
What is new in version 3.3.1:
- Fixed argument ordering bug in when/node introduced in 3.3.0.
What is new in version 3.2.3:
- Report when previously unhandled rejections become handled, with an ID to correlate the two.
- Improve unhandled rejection reporting for cases where multiple different promise implementations interleave.
What is new in version 3.2.2:
- More mem and perf improvements.
- Improvements to unhandled rejection reporting.
What is new in version 3.2.1:
- Minor mem and perf tweaks for when.all.
- Defend against JSON.stringify exceptions when formatting unhandled rejection output.
What is new in version 3.0.0:
- New internal architecture with significant performance improvements and memory efficiency
- New APIs
- New ES6 Promise shim
What is new in version 2.8.0:
- Experimental ES6 generator support via new when/generator module, with lift, call, apply.
What is new in version 2.7.0:
- Added promise.catch and promise.finally as synonyms for promise.otherwise and promise.ensure.
- New browserify build for those using globals.
- Added ender support to package.json.
- Fix compatibility with PhantomJS's CommonJS module support.
- Fix Sauce Labs tests for pull requests.
What is new in version 2.6.0:
- New promise.done allows consuming the ultimate value at the end of a promise chain while ensuring that any errors are thrown to the host environment so you get loud stack traces.
What is new in version 2.5.1:
- ensure now ignores non-functions, like then does, for consistency.
What is new in version 2.4.1:
- New MutationObserver scheduler further reduces "time-to-first-handler" in modern browsers.
What is new in version 2.4.0:
- Experimental support for vert.x 2.x. Should now run in vert.x >= 1.1.0.
- New when.isPromiseLike as the more accurately-named synonym for when.isPromise.
What is new in version 2.3.0:
- New promise.tap for adding side effects to a promise chain.
- New MessageChannel scheduler reduces "time-to-first" handler, in environments that support it.
- Performance optimizations for promise resolution.
What is new in version 2.2.1:
- Fix for when.defer().reject() bypassing the unhandled rejection monitor.
- Fix for when/function, when/callbacks, and when/node/function not preserving thisArg.
What is new in version 2.2.0:
- New when.promise(resolver) promise creation API. A lighter alternative to the heavier when.defer().
- New bindCallback and liftCallback in when/node/function for more integration options with node-style callbacks.
What is new in version 2.1.1:
- Quote internal usages of promise.yield to workaround .NET minifier tools that don't yet understand ES5 identifier-as-property rules.
What is new in version 2.1.0:
- Fixed typo in README.
What is new in version 2.0.0:
- Fully asynchronous resolutions.
- Promises/A+ compliance.
What is new in version 1.8.0:
- New when/unfold, and when/unfold/list promise-aware anamorphic unfolds that can be used to generate and/or process unbounded lists.
- New when/poll promise-based periodic polling and task execution.
What is new in version 1.7.0:
- promise.yield(promiseOrValue) convenience API for substituting a new value into a promise chain.
- promise.spread(variadicFunction) convenience API for spreading an array onto a fulfill handler that accepts variadic arguments.
- Doc improvements.
What is new in version 1.6.1:
- Fixed for accidental coercion of non-promises.
What is new in version 1.5.1:
- Performance optimization for when.defer, up to 1.5x in some cases.
What is new in version 1.4.2:
- Fix for IE8 infinite recursion.
What is new in version 1.4.0:
- Create a resolved promise: when.resolve(value) creates a resolved promise for value.
- Resolve/reject return something useful: deferred.resolve and deferred.reject now return a promise for the fulfilled or rejected value.
What is new in version 1.3.1:
- npm install when - Yep, that's a thing.
- Fixed a deviation from the Promises/A spec where returning undefined from a callback or errback would cause the previous value to be forwarded.
What is new in version 1.3.0:
- Fixed a deviation from the Promises/A spec where returning undefined from a callback or errback would cause the previous value to be forwarded.
What is new in version 1.2.0:
- when/debug now detects exceptions that typically represent coding errors, such as SyntaxError, ReferenceError, etc. and propagates them to the host environment. In other words, you'll get a very loud stack trace.
What is new in version 1.1.1:
- Update changelog and version numbers.
What is new in version 1.1.0:
- Highly experimental when/debug module.
What is new in version 1.0.4:
- Fix for cancelable deferred not invoking progress callbacks.
- The promise returned by when.chain now rejects when the input promise rejects.
What is new in version 1.0.3:
- Fix for specific situation where null could incorrectly be used as a promise resolution value.
What is new in version 1.0.1:
- Fix for rejections propagating in some cases when they shouldn't have been.
- Using buster.js for unit tests now.
What is new in version 1.0.0:
- First official when.js release as a part of cujojs.
- Added when/cancelable decorator for creating cancelable deferreds
- Added when/delay and when/timeout helpers for creating delayed promises and promises that timeout and reject if not resolved first.
What is new in version 0.11.1:
- Added when/apply helper module for using arguments-based and variadic callbacks with when.all, when.some, when.map, or any promise that resolves to an array.
- .then(), when(), and all other methods that accept callback/errback/progress handlers will throw if you pass something that's not a function.
Requirements:
- JavaScript enabled on client side
Bình luận không