С в этом блоге , немного изменено.
... так что вот тривиальный набор расширений класса Ext.util.Functions, которые предоставляютдля создания повторяющихся задач и простого управления ими.
Ext.apply(Ext.util, {
repeat: function(taskName, fn, millis, zeroDayExecution) {
this.tasks = this.tasks || {};
if (zeroDayExecution)
fn();
return this.tasks[taskName] = window.setInterval(fn, millis);
},
cancelRepeatingTask: function(taskName) {
if (this.tasks) {
var id = this.tasks[taskName];
if (!Ext.isEmpty(id)) {
window.clearInterval(id);
delete this.tasks[taskName];
}
}
},
cancelAllRepeatingTasks: function() {
if (this.tasks)
Object.keys(this.tasks).forEach(function(key) {
this.cancelRepeatingTask(key); },
this);
}
});
Пример вызова:
Ext.util.repeat('task1', function() { console.log('test'); }, 1000);