Я только изучаю JS, Подскажите пожалуйста, как выполнить setTimeout по очереди в JavaScript ?
У меня есть 4 функции которые выполняются по setTimeout и должны выполняться по очереди. Как это сделать ? Сейчас сначала выполняется та функция у которого секунды меньше остальных, что и логично.
И еще нужно сделать так, чтобы после выполнения последней функции сработал setInterval и весь процесс повторялся.
// Определяем функцию задержки в которую передаем время
const delay = (time) => {
return new Promise((resolve, reject) => setTimeout(resolve, time))
}
// вызываем
delay(100) // через 100 мс
.then(() => {
console.log('1 шаг');
return delay(200) // через 200 мс
})
.then(() => {
console.log('2й шаг');
return delay(150) // через 150 мс
})
.then(() => {
console.log('3й шаг');
})
// и так далее
При необходимости добавления новых функций просто наращиваем цепочку, добавляя новые .then(). Если задержка между ними нужна нулевая можно просто не возвращать delay(...), функции все равно будут выполнены последовательно. Такой подход гораздо удобнее чем использование callback hell, что является плохой практикой.
var timerId = setTimeout(function tick() {
alert('tick');
timerId = setTimeout(tick, 2000);
}, 2000);
Просто вызывайте свои функции рекурсивно через нужный интервал времени
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нужно реализовать прокрутку, при клике на определенный элемент меню с анимациейСкролл будет выполняться к выбраному блоку
Не могу найти чего то подобного на просторах ИнетаПроблема в следующем: Читаю json файл, после просто сохраняю