Skip to content

Instantly share code, notes, and snippets.

@cbou
Last active June 5, 2018 10:42
Show Gist options
  • Save cbou/d013af51d3987ab76cfe618fec27fa5d to your computer and use it in GitHub Desktop.
Save cbou/d013af51d3987ab76cfe618fec27fa5d to your computer and use it in GitHub Desktop.
Promise
import Ember from 'ember';
Ember.onerror = function (error) {
console.log('Error: ' + error);
}
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
initDeferred: Ember.on('init', function() {
var deferred = Ember.RSVP.defer();
var deferred2 = Ember.RSVP.defer();
deferred.promise.then(function() {
console.log('Resolved');
}).catch(function() {
console.log('Catched');
});
deferred.promise.finally(function() {
console.log('Finally');
});
deferred2.promise.then(function() {
console.log('Resolved2');
}).catch(function() {
console.log('Catched2');
}).finally(function() {
console.log('Finally2');
});
this.set('deferred', deferred);
this.set('deferred2', deferred2);
}),
actions: {
foo: function() {
this.get('deferred').reject('reject');
this.get('deferred2').reject('reject2');
}
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<button {{action 'foo'}}>Hello</button>
<br>
<br>
{
"version": "0.13.0",
"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.16.2",
"ember-template-compiler": "2.16.2",
"ember-testing": "2.16.2"
},
"addons": {
"ember-data": "2.16.3"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment