Почему индикатор выполнения не изменяется динамически в отличие от текста?

Я динамически обновляю несколько элементов послеsetTimeout() функция. Функция jQuery.text() кажется, динамически обновляется с каждым изменением индекса массива во время обработки. Но индикатор загрузки, который меняется через.css() а также.attr() не похоже на динамическое обновление. Вот моя страница:http://imdbnator.com/process.php?id=f144caf0843490c0d3674113b03da0c5&redirect=false

Вы можете видеть, что текст изменяется, но индикатор выполнения заканчивается только послеsetTimeout() функция заканчивается. Кроме того, если я установлюdelay = 1000, Оно работает. Но это замедляется приложением. Поэтому мне нужноdelay = 0, Но почему не изменяется индикатор выполнения?

Вот мой фрагмент

function launch(a) {
    var inc = 0;
    var maxc = a.length;
    var delay = 0; // delay milliseconds
    var iID = setInterval(function () {    
        var index = inc;
        var movie = a[inc];    
        //start processing function    
        //styling while processing                
        var markerPer = ((index + 1) / rawListNum) * 100; // marker percentage
        $("#procNum").text("(" + (index + 1) + "/" + rawListNum + ")"); //Processing number
        $("#procMovie").text(movie); //Processing Name
        $("div[role='progressbar']").css("width", markerPer + "%").attr("aria-valuenow", markerPer); // progress bar -> DOES NOT WORK    
        if (++inc >= maxc) clearInterval(iID);    
    },
    delay);
}

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

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