How to update Ember's model periodically (such as in setInterval)?
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:
- Ember model reloading in interval
- How to reload an ember data record?