Как сделать чтоб цикл for выводил каждый i через определенный промежуток времени
Нужно чтобы информация выводилась не сразу а последовательно например через 500ms
const MAX_VALUE = 10;
console.log("Begin");
for (let i = 0; i < MAX_VALUE; i++) {
console.dir({ i, date: new Date() });
}
console.log("The end");
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
const MAX_VALUE = 10;
for (let i = 0; i < MAX_VALUE; i++) {
setTimeout(() => {
console.dir(i);
}, (i + 1) *1000);
}
Сразу предупреждаю, т.к. это асинхронная функция, то "The end" высветится гораздо раньше, чем исполнится весь код. Чтобы этого не было вам надо будет изучить тему Промисов (Promise) и async/await
Автор решения: Maksim-Do
→ Ссылка
Можно и без асинхронного кода
function sleep(milliseconds) {
const date = Date.now();
let currentDate = null;
do {
currentDate = Date.now();
} while (currentDate - date <
milliseconds);
}