Выполнение долгой операции в JavaScript?
Есть ли хороший способ выполнения длительных операций в JavaScript? Например, у меня есть функция, выполнение которой может занять 2 минуты. Как нам разбить такую крупную операцию? Если бы я использовал Java или C, я бы выполнял эту задачу в фоновом потоке. Есть ли способ сказать браузеру приостановить выполнение скрипта, чтобы он мог снова запустить свой поток переднего плана / пользовательского интерфейса? Что-то вроде этого?:
function bigJob() {
for (i = 0; i < 1000000; i++) {
someWork();
sleep(1000);
}
}
Спасибо