Показать сообщение отдельно
  #11 (permalink)  
Старый 14.11.2019, 16:44
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 498

Сообщение от Nlk
А с промисами у меня не получилось вызывать последовательную задержку после выполнения предыдущей задержки.
function delay(ms, fn) {
      return new Promise(function (resolve, reject) {
        setTimeout( ()=>{fn(); resolve();}, ms)
      });
}

delay(2500, ()=>{console.log(1, 2500);})
 .then( () => delay(2000, ()=>{console.log(2, 2000);}) )
 .then( () => delay(500, ()=>{console.log(3, 500);}) )
 .then( () => delay(1500, ()=>{console.log(4, 1500);}) )


P.S.: вижу что уже ответили, но тут вариант без массивов, тупо цепочка кода.
Ответить с цитированием