JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js"></script>
JavaScript
var Test = Backbone.Model.extend({
startPolling: function() {
this.polling = true;
this.minutes = 2;
var self = this;
var executePolling = function() {
console.log('execute!');
setTimeout(onFetch, 500);
};
var onFetch = function() {
if (self.isPolling()) {
console.log('success!');
setTimeout(executePolling, 500);
}
};
console.log('starting polling!');
executePolling();
setTimeout(this.stopPolling, 5000);
},
stopPolling: function() {
this.polling = false;
console.log('stopped polling!');
},
isPolling: function() {
console.log(this.polling);
return this.polling;
}
});
var model = new Test();
model.startPolling();