所以,我需要在我的应用程序的背景中运行一个无限循环(用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);
JavaScript不支持线程,所以你需要使用'setInterval'运行函数中的每条'X'毫秒。 – sachleen