Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wstrzymanie pętli
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Puchatek
Cześć, mam problem z wykonywaniem pętli w javascript.

Mam przykładowo 20 różnych formularzy w html na jednej stronie.
Każdy z tych formularzy jest osobnym produktem przesyłanym do jednej z platform sprzedażowych. Aby nie przeciążać API tej platformy, muszę przesyłać każdy formularz po kolei (każdy kolejny dopiero po wykonaniu poprzedniego).

Formularze przesyłane są do pliku PHP metodą POST.
Aby przejść przez każdy formularz narzuciłem oczywiście pętlę for.
Niestety za cholerę nie mogę wstrzymać tej pętli do momentu wykonania poprzedniego formularza w pętli.

Teraz przykłady użycia:
  1. function listOffers()
  2. {
  3. //wszystkie zmienne
  4. for(i = 0; i < max; i++)
  5. {
  6. listOffersQuestion(i, categoryId, max, filledParams);
  7. }
  8. }
  9.  
  10. function listOffersQuestion(i, categoryId, max, filledParams)
  11. {
  12. //Tutaj jest przesyłany post do pliku php.
  13. }


Javą zajmuję się od niedawna, spodziewałem się, że pętla nie przejdzie dalej, jeśli jej zawartość się nie wykona. Zapewne tak się dzieje dlatego, że znajduje się w niej odwołanie do innej funkcji.
Czy macie jakieś pomysły, w jaki sposób wstrzymać pętflę for do momentu wykonania funkcji listOffersQuestion?
nospor
Pokaz jak wyglada ta funkcja listOffersQuestion
Puchatek
  1. function listOffersQuestion(i, categoryId, max, filledParams)
  2. {
  3. //tutaj pobieram wszystkie dane z formularza
  4. $.ajax({
  5. type: "POST",
  6. url: "queries/offers_allegro_listing_form.php",
  7. data : //parametry ze zmiennych
  8. }).done(function(response){
  9. $('#status-'+i).html(response);
  10. });
  11. }

Uczono mnie, że każda funkcja powinna coś zwracać, więc może i w tym przypadku powinienem zwrócić wynik do funkcji listOffers?
nospor
Czyli ajax tak jak myslalem. Ustaw wiec go jako synchroniczny i problem z glowy
Puchatek
"Manual, manual, manual..."
Dziękuję, problem faktycznie rozwiązany.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.