JS Таймаут с зависимостью
Здравствуйте.
Надеюсь, что вопрос сформулировал относительно правильно:
как я могу себе реализовать выполнение 2-х таймаутов (ну или как-то по-другому не через таймауты), чтобы был 1 внешний и 1 внутренний таймаут? Но главное как-то привязать внешний к тому, чтоб он не переходил к следующему шагу до тех пор, пока внутренний не выполнится.
Пробовал делать примерное так, но как-то неправильно выходит:
var abc_counter = 0;
var inner_abc_counter = 0;
function abc() {
var abc_Timeout = setTimeout(function() {
inner_abc();
function inner_abc() {
var inner_Timeout = setTimeout(function() {
if (inner_abc_counter < 2) {
console.log("setTimeout 2000 + " + inner_abc_counter);
inner_abc_counter++;
inner_abc();
} else {
clearTimeout(inner_Timeout);
}
},2000);
}
inner_abc_counter = 0;
if (abc_counter < 2) {
console.log("setTimeout 500 + " + abc_counter);
abc_counter++;
abc();
} else {
clearTimeout(abc_Timeout);
}
},500);
}
abc();
Т.е. надо, чтобы выполнение прошло в строгом порядке:
setTimeout 500
setTimeout 2000
setTimeout 2000
setTimeout 500
setTimeout 2000
setTimeout 2000
А в моём случае выходит как:
setTimeout 500
setTimeout 500
setTimeout 2000
setTimeout 2000