JavaScript. while не реагирует на setTimeout
Задумка:
Реализовать код, который будет увеличивать count в течении секунды
Тест производительности так сказать )
Проблема:
через while - бесконечный цикл
через рекурсию - ошибка Maximum call stack size exceeded
Через while:
let running = true
let count = 0
setTimeout(() => {
running = false
console.log(count)
}, 1000)
while (running) {
count++
}
Через рекурсию:
let running = true
let count = 0
setTimeout(() => {
running = false
console.log(count)
}, 1000)
function doIt(argument) {
if (running) {
count++
doIt()
}
}
Ответы (1 шт):
Автор решения: lksmnd
→ Ссылка
Можно сделать цикл который будет сравнивать начальное и конечное время:
var count = 0;
var timestamp = new Date().getTime();
while(new Date().getTime() < timestamp+1000) {
count++;
}
console.log(count);