Показать сообщение отдельно
  #8 (permalink)  
Старый 17.07.2018, 14:13
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

senex,
Все эти танцы с бубном в данном случае не помогут:
в цикле быстренько позапустятся все функции или таймауты, и исполнятся они практически одновременно.
Таймаут не задерживает выполнение цикла, а задерживает выполнение функции, указанной в нем.
Помочь может только рекурсивное выполнение таймаута.
var i = 0;
function fn() {
   i++;
   counter.prompt.text = ("Processed " + i+" / " + NumOfFrames + " frames");
   counter.update();
   // вложенный цикл
   if(i < NumOfStrings) setTimeout(fn, 1000);
}
fn();

setTimeout в ExtendScript нет, но можно написать через sleep
$.setTimeout = function(func, time) {
        $.sleep(time);
        func();
};
Ответить с цитированием