Показать сообщение отдельно
  #7 (permalink)  
Старый 27.09.2014, 13:28
Интересующийся
Отправить личное сообщение для igorz Посмотреть профиль Найти все сообщения от igorz
 
Регистрация: 19.09.2014
Сообщений: 23

Всё равно не пойму до конца.
var abc_counter = 0;

function abc() {
    var abc_Timeout = setTimeout(function() {        
        console.log("setTimeout 1000");
        abc_counter++;
        if (abc_counter < 5) {
            abc(); 
        } else {
            clearTimeout(abc_Timeout); 
        }
    },1000);
}
abc();

Всё классно - пробегает 5 раз по 1 секунде. А как правильно внутрь каждого выполнения всунуть ещё одну функцию с задержкой, но так, чтоб пока она не выполнится то следующий виток внешней не начнётся ?
Вроде бы, логически переделываю в такое, но выходит что неправильно.(и да, с тиками не понял честно говоря как именно их использовать)

var abc_counter = 0;
var inner_abc_counter = 0;

function abc() {
    var abc_Timeout = setTimeout(function() {        
        console.log("setTimeout 1000");
        
        inner_abc();
        function inner_abc() {
            var inner_Timeout = setTimeout(function() {
            	console.log("setTimeout 500");
            	inner_abc_counter++;
            	if (inner_abc_counter < 3) {
            		inner_abc(); 
        		} else {
            		clearTimeout(inner_Timeout); 
        		}
            },500);
        }
        inner_abc_counter = 0;
        
        abc_counter++;
        if (abc_counter < 5) {
            abc(); 
        } else {
            clearTimeout(abc_Timeout); 
        }
    },1000);
}
abc();

Последний раз редактировалось igorz, 27.09.2014 в 15:35.
Ответить с цитированием