Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save dfreeman/130267a61de6e60da9587293999f320a to your computer and use it in GitHub Desktop.
Save dfreeman/130267a61de6e60da9587293999f320a to your computer and use it in GitHub Desktop.
Ember Concurrency Test
import Ember from 'ember';
import { task, timeout } from 'ember-concurrency';
export default Ember.Controller.extend({
messages: Ember.computed(() => []),
parent: task(function*() {
try {
yield this.get('child').perform();
} catch (error) {
this.get('messages').pushObject(error.message);
}
}),
child: task(function*() {
yield this.get('grandchild').perform();
}),
grandchild: task(function*() {
throw new Error('boom');
})
});
<button {{action (perform parent)}}>Perform Parent</button>
{{#each messages as |message|}}
<li>{{message}}</li>
{{/each}}
{
"version": "0.7.2",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.4.4/ember.debug.js",
"ember-data": "https://cdnjs.cloudflare.com/ajax/libs/ember-data.js/2.4.3/ember-data.js",
"ember-template-compiler": "https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.4.4/ember-template-compiler.js",
"babel-polyfill":"https://cdn.rawgit.com/nicksrandall/babel-polyfill/master/browser-polyfill.js"
},
"addons": {
"ember-concurrency": "0.6.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment