Class Ember.PromiseProxyMixin
publicA low level mixin making ObjectProxy, ObjectController or ArrayControllers promise-aware.
var ObjectPromiseController = Ember.ObjectController.extend(Ember.PromiseProxyMixin);
var controller = ObjectPromiseController.create({
promise: $.getJSON('/some/remote/data.json')
});
controller.then(function(json){
// the json
}, function(reason) {
// the reason why you have no json
});
the controller has bindable attributes which track the promises life cycle
controller.get('isPending') //=> true
controller.get('isSettled') //=> false
controller.get('isRejected') //=> false
controller.get('isFulfilled') //=> false
When the the $.getJSON completes, and the promise is fulfilled with json, the life cycle attributes will update accordingly.
controller.get('isPending') //=> false
controller.get('isSettled') //=> true
controller.get('isRejected') //=> false
controller.get('isFulfilled') //=> true
As the controller is an ObjectController, and the json now its content, all the json properties will be available directly from the controller.
// Assuming the following json:
{
firstName: 'Stefan',
lastName: 'Penner'
}
// both properties will accessible on the controller
controller.get('firstName') //=> 'Stefan'
controller.get('lastName') //=> 'Penner'
If the controller is backing a template, the attributes are bindable from within that template
{{#if isPending}}
loading...
{{else}}
firstName: {{firstName}}
lastName: {{lastName}}
{{/if}}
catch (callback) RSVP.Promise public
Defined in packages/ember-runtime/lib/mixins/promise_proxy.js:187
Available since v1.3.0
- callback
- Function
- returns
- RSVP.Promise
An alias to the proxied promise's catch
.
See RSVP.Promise.catch.
finally (callback) RSVP.Promise public
Defined in packages/ember-runtime/lib/mixins/promise_proxy.js:200
Available since v1.3.0
- callback
- Function
- returns
- RSVP.Promise
An alias to the proxied promise's finally
.
See RSVP.Promise.finally.
then (callback) RSVP.Promise public
Defined in packages/ember-runtime/lib/mixins/promise_proxy.js:175
- callback
- Function
- returns
- RSVP.Promise
An alias to the proxied promise's then
.
See RSVP.Promise.then.