У меня есть рекурсивная функция SetTimeout, которая нажимает фильтр на моей странице после загрузки фильтров (они загружаются через Ajax, поэтому недоступны сразу при загрузке страницы).Максимальный размер стека вызовов превышен на рекурсивной функции SetTimeout (Javascript)
$scope.clickFilter = function() {
var filter = $('.filter-item')
.find('input[value="' + $scope.activeFilter + '"]');
if (filter.length < 1) {
setTimeout($scope.clickFilter(), 1000);
} else {
$(filter).trigger("click");
}
}
Однако, когда фильтры займет много времени для загрузки, я получаю «неперехваченный RangeError: Максимальный размер стеки вызовов превышен (...)»
Как предотвратить это, и убедитесь, что он работает до завершения ?
Вы * знаете * это дубликат ... :-) –
@ T.J.Crowder есть времена утром, когда я просто не разбираюсь в странном поиске SO. Да, это, конечно, дурак. – Pointy