Michael_K: Abhilfe for " too much recursion

Beitrag lesen

Hallo Matti,

anbei ein Code-Beispiel für folgende XML Struktur. Bitte hinterfrage nicht die Sinnhaftigkeit der XML Struktur, die kann ich nicht beeinflussen. Das Problem entsteht, wenn eine große Anzahl von <line/> mit einander via id-Attribute verbunden sind. Wenn mehr als ca. 8000 line verknüpfte vorliegen, kommt es zur Meldung too much recursion.

<line id="a35" nextLine="a45"/>
<line id="a78" nextLine="a88"/>
<line id="a45" nextLine="a78"/>
<line id="a88"/>

const getAllLines = function(startLine){
  let idList = [];
  const _loop = function(line){
    if(line.hasAttribute('id')) idList .push(line.getAttribute('id'));
    if(line.hasAttribute('nextLine')) {
      const nextID = line.getAttribute('nextLine');
      const nextLine = document.getElementById(nextID );
      if(!idList.includes(nextID) && nextLine) _loop(nextLine);
    }
  }
// beginne mit der Startlinie 
_loop(startLine);
}

Gruß Michael