I have an Ember application whose model comes from an Ajax call. The first call works great, I have the model hook of the Ember.Route
return a promise to the Aj
I think this is a good use case for Ember.run.later, which limits the frequency of function calls.
You could just add a refresh to your model, similar to this:
App.Model = DS.Model.extend({
poll: function() {
var _this = this;
Ember.run.later( function() {
_this.reload();
_this.poll();
}, 500);
}.observes('didLoad'),
});
If you are not using Ember data you can simply add a recursive setTimeout
or setInterval
in you controller and set the model
property. Here is a simple example setting the model from a UI event.
If you are using ember-data I think the following threads have more accurate solutions: