Throw vs Reject
import Ember from 'ember'; | |
export default Ember.Controller.extend({ | |
appName: 'Ember Twiddle', | |
rejectMe () { | |
return Ember.RSVP.reject('I rejected'); | |
}, | |
resolveMe () { | |
return Ember.RSVP.resolve('I resolved'); | |
}, | |
throwMe () { | |
return new Ember.RSVP.Promise((resolve, reject) => { | |
throw new Error('I threw'); | |
}) | |
}, | |
throwLater (ms) { | |
return new Ember.RSVP.Promise(function (resolve) { | |
Ember.run.later(this, () => { | |
resolve(); | |
}, ms); | |
}); | |
}, | |
actions: { | |
rejector () { | |
return this.rejectMe().then(() => { | |
alert('Resolved'); | |
}, (err) => { | |
alert(`Rejected, caught in err: ${err}`); | |
}) | |
.catch((err) => { | |
alert(`Rejected, caught in catch: ${err}`); | |
}) | |
}, | |
resolveReject () { | |
return this.resolveMe() | |
.then(this.rejectMe) | |
.then(() => { | |
alert('Resolved'); | |
}, (err) => { | |
alert(`Rejected, caught in err: ${err}`); | |
}) | |
.catch((err) => { | |
alert(`Rejected, caught in catch: ${err}`); | |
}) | |
}, | |
thrower () { | |
return this.throwMe().then(() => { | |
alert('Resolved'); | |
}, (err) => { | |
alert(`Rejected, caught in err: ${err}`); | |
}) | |
.catch((err) => { | |
alert(`Rejected, caught in catch: ${err}`); | |
}) | |
} | |
} | |
}); |
{ | |
"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" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment