26. juli 2015 - 17:30Der er
3 kommentarer og 1 løsning
Vent på function
Hej
Her er det jeg gerne vil gøre i et forenklet eksempel
Hvis jeg har en function
function minfunktion(var1, var2, var3) { // Laver noget her bl.a. et AJAX kald return true; }
og jeg så har et for loop som looper gennem et array
var myStringArray = [1,5]; var arrayLength = myStringArray.length; for (var i = 0; i < arrayLength; i++) { minfunktion(myStringArray[i], 1, 2); }
Når den så kører, hvordan får jeg den så til at vente med at gå videre i for sætningen indtil funktionen har kørt færdig?
Har prøvet følgende (ud fra tanken om den så ventede) men det virker ikke for (var i = 0; i < arrayLength; i++) { if(minfunktion(myStringArray[i], 1, 2)) {}; }
Dvs. funktionen skal være helt færdig inden den kører loopet videre?
Du laver en callback-funktion, som udføres når AJAX-kaldet er gennemført. Dvs. at du ikke skal have din løkke, men blot kalde AJAX-funktionen, som så kalder et callback, der laver et nyt AJAX-kald.
Så har lige et par spørgsmål: 1: Hvis man i et callback lader den kalde funktionen igen, hvordan styrer man så den kun kører så mange gange som der er værdier i arrayet?
2: I funktionen function minfunktion(var1, var2, var3) { // Laver noget her bl.a. et AJAX kald, MEN OGSÅ ANDRE TING return true; } sker der flere ting end blot et ajax kald, så hvordan laver man et callback på hele funktionen, så man ved alt er kørt før den går videre?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.