Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Ember from 'ember';
- import { task, waitForProperty, timeout } from 'ember-concurrency';
- const promptTask = task({
- answer: undefined,
- * perform() {
- yield waitForProperty(this, 'answer', a => a !== undefined);
- return this.answer;
- }
- });
- export default Ember.Controller.extend({
- appName: 'Ember Twiddle',
- main: task(function * () {
- let confirmed = yield this.confirm.perform();
- if (!confirmed) {
- return;
- }
- let name = yield this.promptForName.perform();
- yield this.work.perform(name);
- }),
- confirm: promptTask,
- promptForName: promptTask,
- work: task({
- name: null,
- * perform(name) {
- this.set('name', name);
- yield timeout(3000);
- }
- })
- });
Add Comment
Please, Sign In to add comment