рони,
Я изначально делал так.
setTimeout(function(){
console.log("1");
setTimeout(function(){
console.log("2");
setTimeout(function(){
console.log("3");
setTimeout(function(){
console.log("4");
setTimeout(function(){
console.log("5");
}, 2000);
}, 4000);
}, 1000);
}, 4000);
}, 5000);
но так не хорошо и решил переписать с помощью промисов. А с промисами у меня не получилось вызывать последовательную задержку после выполнения предыдущей задержки. Поэтому я сделал с нарастающим временем
delay(5000).then(function () {
console.log("1")
});
delay(9000).then(function () {
console.log("2")
});
delay(10000).then(function () {
console.log("3")
});
delay(14000).then(function () {
console.log("4")
});
delay(16000).then(function () {
console.log("5")
});