Ember.run.later and setTimeout comparing scenario.
In the Ember internals (Backburner) it can be found that Ember.run.later basically calls setTimeout() under the hood, but respecting the firing order by which other timeouts were added into the queue.
More on it on a blog post soon in www.estebansastre.com
import Ember from 'ember';
export default Ember.Controller.extend({
appName: "Timers comparison",
init: function() {
this._super();
this.set('myErrCountLater', 0);
this.set('myErrCountTimeout', 0);
this.myFunc(0);
this.myOtherFunc(0);
},
myFunc: function(errorCount) {
if (errorCount < 7) {
self = this;
this.set('myErrCountLater', errorCount);
console.log("Error Count Later is " + errorCount + ", repeating");
Ember.run.later(this, function () {
return self.myFunc(errorCount+1);
}, 1500);
}
else {
console.log("Everything failed");
}
},
myOtherFunc: function(errorCount) {
if (errorCount < 7) {
self = this;
this.set('myErrCountTimeout', errorCount)
console.log("Error Count Timeout is " + errorCount + ", repeating");
setTimeout(function() {
return self.myOtherFunc(errorCount + 1);
}, 1500);
}
else {
console.log("Everything failed");
}
}
});
Written by Esteban
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Ember
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#