Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kolejnosc wykonywania funkcji
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
klaudio
Witam czy jest cos takiego jak kolejnosc wykonywania funkcji? Np. mam dwie funkcje, wywojuje je jedna pod druga czyli:

funkcja1();
funkcja2();


funkcja1() wypelnia mi tabele 25-tys wierszy wiec kilka sekund to trwa, zas w funkcja2() potrzebuje liczbe wierzszy ale zeby to obliczyc to musi funkcja1() sie wykonac do konca. Problem w tym ze funkcja2() nie czeka az funkcja1() doleci do konca. Czy jest na to jakas opcja questionmark.gif Czyli jakies sekwencyjne wykonywanie funkcji questionmark.gif

Poprostu chce aby kolejna sie wykonywala po calkowitym zakonczeniu poprzedniej!

Z gory dziekuje za odpowiedz
Pozdrawiam smile.gif
Szymciosek
W funkcja1(); masz pętlę ? Jeśli tak to za pętlą uruchom funkcja2();
Wydaje mi się, że o to Ci chodzi
karis
setTimeout może pomóc
KotWButach
wykonaj funkcje2 kiedy f1 zwroci true?
darko
Nie da się tego zrobić w satysfakcjonujący sposób bez założenia z góry jakiegoś limitu czasowego na wykonanie funkcji1 dopóki php nie będzie obsługiwało wielowątkowości. W javie napisałbyś dwie asynchroniczne metody, w pierwszej przed wykonaniem właściwej operacji poinformowałbyś pozostałe funkcje (wait() ) i zablokował zasób, na końcu zwolnił i notify(), w php jest to niestety niewykonalne. Jedynym rozwiązaniem, które przychodzi mi teraz do głowy to użycie po stronie klienta (ajax) wywołań asynchronicznych do skryptów w php.
flashdev
Używaj callbacków. Być może będziesz musiał zmodyfikować funkcję1.

Kod
funkcja1(function(){
  funkcja2();
});


Tak to możesz wykonać w kolejności, ale funkcja1 musi przyjmować za parametr inną funkcję która zostanie wykonana po zakończonej pracy.
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-2025 Invision Power Services, Inc.