Run Loop In Background

background, javascript, loops, titanium, uiscrollview

Solution

Take a look at window.setInterval().

/* 
    Calls a function repeatedly, with a fixed 
    time delay between each call to that function.
*/
setInterval(startScrolling, 6000);

Problem

So, I am needing to run an infinite loop in the background of my app (written in JS) that will be used to cycle a ScrollableView every six seconds. However, while this loop runs, I'm unable to preform any other operations in the app as you would think. To sum up, how can I run this loop at all times while still making the app operational? Code: ``` 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 } } ``` EDIT: Solution ``` 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); ```

Original source