setTimer () и timeInterval () в sencha не работают на устройствах Android и iPhone - PullRequest
3 голосов
/ 01 марта 2012

Я работаю над приложением sencha touch, в котором мне нужно отправлять запрос на сервер через каждые 1 мин. Я использую setInterval () и setTimeOut (), оба работают в chrome на настольном компьютере, но когда дело доходит до iPhone или Android, они не работают (их не вызывают) Кто-нибудь использовал эти функции раньше (успешно) или любые другие функции для использования.

Используемый код

  setInterval(function(){
     //server calling method
  },10000);

  setTimeout(function name,10000);

Имя функции - это функция с кодом для отправки запроса на сервер.

Спасибо

Ответы [ 2 ]

6 голосов
/ 01 марта 2012

Почему бы вам не использовать класс DelayedTask Сенчи для этой цели?Это будет примерно так:

//create the delayed task instance with our callback
var task = Ext.create('Ext.util.DelayedTask', function() {
    //server calling method

    // The task will be called after each 10000 ms
    task.delay(10000);
}, this);

//The function will start after 0 milliseconds - so we want to start instantly at first
task.delay(0);

//to stop the task, just call the cancel method
//task.cancel(); 

И я работал с этим кодом с PhoneGap, и он работал нормально.

0 голосов
/ 01 марта 2012

В iPhone обычно используется NSTimer.

NSTimer *timer_main = [NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(yourfunction) userInfo:nil repeats:YES];

Это будет работать в iPhone.

...