Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Ember from 'ember';
- export default Ember.Controller.extend({
- appName: 'Ember Twiddle',
- logs: [],
- returnsAPromise(shouldResolve) {
- return new Ember.RSVP.Promise(resolve => {
- const promise = shouldResolve ? Ember.RSVP.resolve('yay! 🎉') : Ember.RSVP.reject('boo 😬');
- return promise
- .then(value => {
- this.log("Then from returned promise", value);
- resolve(value);
- })
- .catch(err => {
- // Because promise is never resolved OR rejected, it never resolves.
- this.log("Catch from returned promise", err);
- });
- });
- },
- log(...lines) {
- this.get('logs').pushObject(lines.join(', '));
- },
- actions: {
- callPromise(shouldResolve) {
- this.returnsAPromise(shouldResolve)
- .then(value => this.log("Then from caller", value))
- .catch(err => this.log("Catch from caller", err))
- .finally(() => this.log("Finally from caller"));
- }
- }
- });
Add Comment
Please, Sign In to add comment