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
Did you know?
JavaScript on a page runs with the privileges of that origin. One altered library, tag manager, or snippet can read inputs, change what people see, and call your APIs as the user.
Security insights from Cside
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#