Skip to content

Instantly share code, notes, and snippets.

@blimmer
Created October 31, 2017 17:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save blimmer/a724d4b2b4cf9759709454b8cfd95f46 to your computer and use it in GitHub Desktop.
Save blimmer/a724d4b2b4cf9759709454b8cfd95f46 to your computer and use it in GitHub Desktop.
ember concurrency example for joey
import Ember from 'ember';
import { task, timeout } from 'ember-concurrency';
export default Ember.Component.extend({
myVal: null,
asyncPoll: task(function * () {
console.log('polling');
this.set('myVal', Math.random());
yield timeout(1000); // ms
this.get('asyncPoll').perform(); // requeue myself
}).on('init')
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export default Ember.Controller.extend({
renderComponent: false
});
import Ember from 'ember';
export default Ember.Route.extend({
});
<h1>EC example for Joey</h1>
<br>
<br>
{{outlet}}
<br>
<br>
{{yield}}
<h3>Value is now: {{myVal}}</h3>
<button {{action (toggle "renderComponent" this)}}>toggle render of component</button>
{{#if renderComponent}}
{{my-ec-component}}
{{/if}}
{
"version": "0.12.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-data": "2.12.1",
"ember-concurrency": "0.8.11",
"ember-composable-helpers": "2.0.3"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment