Releases: machty/ember-concurrency
Releases · machty/ember-concurrency
0.8.1
perf + sync start
0.8.0
- POSSIBLE BREAKING CHANGE: the internal task scheduler
has been rewritten to be more performant, but to also
more immediately start executing task functions. Prior
to this version,perform()
ing a task wouldn't actually
start executing the task function until theactions
queue
on the run loop; this behavior was inconsistent with the timing
of async functions, and meant that certain lifecycle hooks
that depended on logic being run synchronously couldn't be
used with ember-concurrency Tasks (because they already
missed their window of execution). This is unlikely to
break anyone's apps, but it's possible some apps out there
have subtle timing dependencies on tasks running within
run loop queues, so it's better to announce this as a possible
breaking change. (#107) - Derived state: Task Instances now have an additional
isSuccessful
andisError
property (#119) - Derived state: Tasks expose
performCount
that tracks
how many times a task has been performed. - waitForEvent and waitForQueue for pausing the task until
a jQuery / Ember event occurs, or until a particular
run loop queue has been reached.
look ma no .get('taskName')
You can now replace all instances of
this.get('myTask').perform();
with
this.myTask.perform();
allSettled
0.7.9 Released 0.7.9
Arbitrary nestings of addons
0.7.7
- Upgraded ember-maybe-import-regenerator so that other
addons can consume/depend on ember-concurrency without
making the end user have to make any additional
configuration to support transpiled generator function
syntax.
no more babel.includePolyfill:true
0.7.5
- You no longer have to set
includePolyfill:true
in
ember-cli-build.js as a requirement for using
ember-concurrency.regenerator-runtime
is now
provided by https://github.com/machty/ember-maybe-import-regenerator,
which gracefully no-ops if you still want to keep
includePolyfill:true
. Babel's polyfill is 98kb minified,
whereas the regenerator runtime is only 4kb minified.
0.7.2
0.7.2
- (perform) and (cancel-all) helpers no longer cause run loop autoruns
- The .keepLatest() task modifier has been redocumented due
to popular demand; it's useful for when you want to enqueue
only the most recent intermediate .perform() and drop everything
in between.
Ember 1.13.0 support
0.7.1 Released 0.7.1
uncatchable TaskCancelation
0.7.0
- within a task generator function, TaskCancelation "errors" are
longer "catchable" in the catch block of a try/catch. This means
you no longer have to check if the error thrown is a cancelation
in order to handle it differently than an exception. - That said, since promises have no concept of cancelation, if
you perform a task within a promise (or you call
someTask.perform().then(...).catch(...)
), then any promise
catch
handlers will be called with TaskCancelation "errors",
and if you need to distinguish between cancelation and exceptions
thrown, you can import and use the newdidCancel
utility function,
which returns true if the error passed to it is a TaskCancelation.
Previously, the only safe way to test this was to check
err && err.name === 'TaskCancelation'
; now you can just
import { didCancel } from 'ember-concurrency'
and
checkdidCancel(err)
.