Ich habe eine rekursive SetTimeout-Funktion, die auf einen Filter auf meiner Seite klickt, nachdem die Filter geladen wurden (sie werden über Ajax geladen und sind beim Laden der Seite nicht verfügbar).Die maximale Callstack-Größe wurde bei der rekursiven Funktion SetTimeout überschritten (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");
}
}
Wenn jedoch die Filter eine lange Zeit dauern zu laden, erhalte ich „Uncaught Auslöser Range: Maximale Call-Stack-Größe überschritten (...)“
Wie verhindere ich dies und stellen Sie sicher, es läuft bis zum Abschluss ?
Sie * wissen * das ist ein Duplikat ... :-) –
@ T.J.Crowder Es gibt Zeiten am Morgen wenn ich gerade nicht mit der bizarren SO Suche zu tun habe. Ja, es ist natürlich eine Dupe. – Pointy