recursion - JavaScript Recursive Delayed Method call -


this question has answer here:

i wanted write simple function updated paragraph element <p></p>every second new text in pattern, unsure how go delaying method call solution tried doesn't seem work. if remove settimeout method , replace simple recursive call function prints out pattern supposed doesn't print out delay want.

function printpattern(eventsource, width, height, counter){     if(height == 1 && counter >= width) {         return;     }     else{         if(counter >= width){             eventsource.innerhtml += "<br>";             //printpattern(eventsource,width,height-1,0);             settimeout(printpattern(eventsource,width,height-1,0), 1000)         }         else{             if((counter%2 == 0) ^ (height%2 == 1)){                 eventsource.innerhtml += "o";             }             else{                 eventsource.innerhtml += "x";             }             //printpattern(eventsource,width,height,counter+1);             settimeout(printpattern(eventsource,width,height,counter+1), 1000)         }     } }  function displaypattern(source){     printpattern(source, 4, 4, 0); } 

you passing result of calling printpattern settimeout, instead of passing function itself. want:

settimeout(function() {   printpattern(eventsource, width, height, counter+1); }, 1000); 

Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -