從this blog post,修改了一下。
...所以這裏是一組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);
是男人,我也試圖與setTimout還是同樣的問題。 :( – user555 2012-03-09 05:55:56