如何在Sencha Touch中每隔几秒钟可靠地执行一次功能? 我每隔7秒使用以下代码调用函数:
var task = new Ext.util.DelayedTask(function() {
function();
task.delay(7000);
}, this);
task.delay(0);
它适用于iPhone和桌面(chrome),但我遇到Android问题,即Android上无法正常工作。我还尝试使用 setInterval 方法& 的setTimeout 。
答案 0 :(得分:1)
您是否尝试过setTimeout
?
答案 1 :(得分:0)
从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);