Я наткнулся на функцию, в которой было setTimeout
внутри с экспоненциально растущим тайм-аутом (timeout *= 2)
.
let timeout = 10000
function foo() {
// doSomething without breaking, returning
setTimeout(foo, timeout)
timeout *= 2;
}
foo()
Кажется, что это не должно быть проблемой, и интуитивно кажется, что setInterval
уже делает то же самое (имея бесконечный цикл, пока он не будет отменен, если когда-либо), однако мой вопрос заключается в самом подходе.
- Может ли это привести к утечке памяти?
- Лучше/понятнее ли по-прежнему ограничивать количество вызовов функции?
- Будут ли другие языки использовать такой подход или существуют другие подходы за пределами мира JS?
stackoverflow
; моя вина. - person RobIII   schedule 04.06.2018