Выполнение долгой операции в JavaScript?

Есть ли хороший способ выполнения длительных операций в JavaScript? Например, у меня есть функция, выполнение которой может занять 2 минуты. Как нам разбить такую ​​крупную операцию? Если бы я использовал Java или C, я бы выполнял эту задачу в фоновом потоке. Есть ли способ сказать браузеру приостановить выполнение скрипта, чтобы он мог снова запустить свой поток переднего плана / пользовательского интерфейса? Что-то вроде этого?:

function bigJob() {
    for (i = 0; i < 1000000; i++) {
        someWork();
        sleep(1000);
    }
}

Спасибо

Ответы на вопрос(5)

Ваш ответ на вопрос