Вызвать функцию в setTimeout

Рейтинг: 0Ответов: 1Опубликовано: 07.11.2014

Есть такая функция:

var animateTitle = function(countMessages) {
}

Как ее повторно вызвать в setTimeout? Что-то наподобие в теле самой функции (рекурсия):

setTimeout(animateTitle(call), 3000);

Только параметры как передать правильно? В моем примере вылетает ошибка в консоли:

Uncaught RangeError: Maximum call stack size exceeded

Ответы

▲ 2Принят

Скорее всего, вам лучше использовать не setTimeout, а setInterval. Но если очень хочется, то так и вызывайте:

function animateTitle(countMessages) {
  setTimeout(function(){ animateTitle(call); }, 3000);
}

Только учтите, что-таки callstack у вас произойдет. Через 7000-49000 итераций.