В следующем коде, почему он может создать возможную бесконечную рекурсию и почему использование памяти продолжает подниматься и как ее решить?Возможная бесконечная рекурсия в методе?
function waitForKeyElements (selectorTxt, actionFunction) {
if (getElementByXPath(selectorTxt) == null) {
var timeControl = setInterval (function() {
waitForKeyElements (selectorTxt, actionFunction);
},
300
);
} else {
clearInterval (timeControl);
actionFunction();
}
}
Он мог просто использовать 'setTimeout'. Не нужно очищать. – Prinzhorn
@Prinzhorn - Да, очень актуальная точка. – techfoobar
Не нужно инициализировать 'timeControl' как' -1', ни 'if (timeControl! == -1)'. Он будет «терпеть неудачу» молча, когда пройдет недопустимое значение – Ian