Здравствуйте! В коде есть цикл for со счётчиком j. В теле цикла выполняется глобально определённая функция example(), длительность выполнения которой составляет от 24 секунд.
example = function(d) {};
$('#button').click(function(){
for (j; j<=num; j++) {
example(j);
};
});
При выполнение цикла возникает проблема. Цикл выполняется очень быстро, создавая num-е число считай параллельных запусков функции example(). Как сделать ожидание завершения функции example() и только потом продолжить цикл и инкрементировать j. Функция example ничего не возвращает, но если надо могу дописать return.
UPD1: Видя бурные обсуждения, скидываю код функции.
example = function(d) {
function startTrackInterval(day) {
if (day) effectController.day=day;
effectController.hour=0;
var timerId = setInterval(function() {
if (effectController.hour > 24) clearInterval(timerId);
else {
gui.updateDisplay();
tracker();
};
effectController.hour=effectController.hour+0.01;
}, 10);
}
startTrackInterval(d);
}
exampleнет ничего асинхронного, то тогда цикл будет дожидаться выполненияexampleи только потом переходить на новую итерацию. Покажите кодexample– ThisMan Feb 22 '17 at 05:35example– Grundy Feb 22 '17 at 07:56