2012-06-29 166 views
2

所以,我需要在我的應用程序的背景中運行一個無限循環(用JS編寫),它將用於每六秒鐘循環一次ScrollableView。但是,在此循環運行時,我無法按照您的想法在應用程序中執行任何其他操作。在後臺運行循環

總結一下,我怎樣才能在任何時候運行這個循環,同時仍然使應用程序運行?

代碼:

function startScrolling() { 
    for(; ;) { 
     sleep(6000); 
     Ti.API.info('Scrolling To Index: ' + viewIndex); 
     scrollView.scrollToView(viewIndex); 
     if(viewIndex == 4) { 
      viewIndex = 0; 
      scrollView.scrollToView(viewIndex); 
     } else { 
      scrollView.scrollToView(viewIndex); 
      viewIndex++; 
     } 
    } 
} 

function sleep(milliseconds) { 
    var start = new Date().getTime(); 
    while((new Date().getTime() - start) < milliseconds) { 
     // Do nothing 
    } 
} 

編輯:解

setInterval(function() { 
    Ti.API.info('Scrolling To Index: ' + viewIndex); 
     scrollView.scrollToView(viewIndex); 
     if(viewIndex == 4) { 
      viewIndex = 0; 
      scrollView.scrollToView(viewIndex); 
     } else { 
      scrollView.scrollToView(viewIndex); 
      viewIndex++; 
     } 
}, 6000); 
+0

JavaScript不支持線程,所以你需要使用'setInterval'運行函數中的每條'X'毫秒。 – sachleen

回答