Ik heb een recursieve functie gebouwd met een ingebouwde vertraging dmv een timeout in de recursie.
De recursie wordt afgebroken zodra deze niet meer aan een bepaalde voorwaarde voldoet.
Zodra deze afgerond is wil ik aan het eind van deze recursie een functie kunnen uitvoeren die ik als variabele meegeef bij de aanroep van de recursie.
Voorbeeld (werkend):
De recursie werkt gewoon. Het probleem zit hem in het uitvoeren van de functie aan het einde van de recursie.
De timeout die in de recursie zit is een must. (Denk maar aan een stopwatch die tot 60 moet tellen en elke seconde het getal op scherm update en zodra 60 bereikt is iets moet gaan doen).
Ideeën waar de fout zit?
De recursie wordt afgebroken zodra deze niet meer aan een bepaalde voorwaarde voldoet.
Zodra deze afgerond is wil ik aan het eind van deze recursie een functie kunnen uitvoeren die ik als variabele meegeef bij de aanroep van de recursie.
Voorbeeld (werkend):
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function btnTest() { testLoop(from=0, to=10, fnDoSomethingWhenFinished); } function fnDoSomethingWhenFinished() { alert('klaar!'); } function testLoop(loopFrom, loopTill, handler) { if (loopFrom<loopTill) { //testLoop(loopFrom+1, loopTill, handler) //functie zonder timeout (vertraging) setTimeout("testLoop('" + loopFrom+1 + "', " + loopTill + ", " + handler +")", 12) } else { //doe iets wanneer het klaar is handler; } } |
De recursie werkt gewoon. Het probleem zit hem in het uitvoeren van de functie aan het einde van de recursie.
De timeout die in de recursie zit is een must. (Denk maar aan een stopwatch die tot 60 moet tellen en elke seconde het getal op scherm update en zodra 60 bereikt is iets moet gaan doen).
Ideeën waar de fout zit?