Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wstrzymanie pętli
Puchatek
post 8.02.2022, 10:34:15
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2019

Ostrzeżenie: (0%)
-----


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?

Ten post edytował Puchatek 8.02.2022, 10:35:30
Go to the top of the page
+Quote Post
nospor
post 8.02.2022, 10:40:03
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6296
Dołączył: 27.12.2004




Pokaz jak wyglada ta funkcja listOffersQuestion


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Puchatek
post 8.02.2022, 10:46:01
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2019

Ostrzeżenie: (0%)
-----


  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?
Go to the top of the page
+Quote Post
nospor
post 8.02.2022, 11:25:35
Post #4





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6296
Dołączył: 27.12.2004




Czyli ajax tak jak myslalem. Ustaw wiec go jako synchroniczny i problem z glowy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Puchatek
post 8.02.2022, 11:30:30
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2019

Ostrzeżenie: (0%)
-----


"Manual, manual, manual..."
Dziękuję, problem faktycznie rozwiązany.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 07:11