Guest User

Untitled

a guest
Feb 24th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. import Ember from 'ember';
  2.  
  3. export default Ember.Controller.extend({
  4. appName: 'Ember Twiddle',
  5. logs: [],
  6.  
  7. returnsAPromise(shouldResolve) {
  8. return new Ember.RSVP.Promise(resolve => {
  9. const promise = shouldResolve ? Ember.RSVP.resolve('yay! 🎉') : Ember.RSVP.reject('boo 😬');
  10.  
  11. return promise
  12. .then(value => {
  13. this.log("Then from returned promise", value);
  14. resolve(value);
  15. })
  16. .catch(err => {
  17. // Because promise is never resolved OR rejected, it never resolves.
  18. this.log("Catch from returned promise", err);
  19. });
  20. });
  21. },
  22.  
  23. log(...lines) {
  24. this.get('logs').pushObject(lines.join(', '));
  25. },
  26.  
  27. actions: {
  28. callPromise(shouldResolve) {
  29. this.returnsAPromise(shouldResolve)
  30. .then(value => this.log("Then from caller", value))
  31. .catch(err => this.log("Catch from caller", err))
  32. .finally(() => this.log("Finally from caller"));
  33. }
  34. }
  35. });
Add Comment
Please, Sign In to add comment