Показать сообщение отдельно
  #3 (permalink)  
Старый 16.12.2020, 10:57
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

const it = cycle(['A', 'B', 'C', 'D', 'E'])
let timer1;

function* cycle(arr) {
    let i = 0;
    while (i < arr.length) yield arr[i++]
}

(function timer() {
    timer1 = setTimeout(function () {
        const cur = it.next();
        if (cur.done) {
            clearTimeout(timer1);
        } else {
            console.log(cur.value);
            timer();
        }
    }, 1000);
}());

Вариант с генераторами
https://learn.javascript.ru/generator
Ответить с цитированием