[Js] czekanie az petla sie skonczy |
[Js] czekanie az petla sie skonczy |
2.03.2021, 17:21:38
Post
#1
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 0 Dołączył: 27.02.2008 Ostrzeżenie: (0%) |
Hejka mam taki kod
dlaczego to
wykonuje sie dopiero jak skonczy wykonywac sie to
i jak moge spowodowac zeby addClass nie czekal na koniec petli? -------------------- www.Opiekuj.pl
|
|
|
2.03.2021, 19:39:13
Post
#2
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) |
Na pewno wykonuje się od razu jak klikasz w filtr, nie czeka na koniec pętli o którym piszesz.
Ta linia kodu wykonuje się zanim pętla się zacznie wykonywać. -------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
2.03.2021, 20:14:09
Post
#3
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 0 Dołączył: 27.02.2008 Ostrzeżenie: (0%) |
Jednak jest inaczej i wynik w przeglądarce widzę dopiero po wykonaniu tej pętli.czytalem o asynchronicznym ladowaniu się kodu, że może tutaj leży problem. Console.log kiedy dam w tym samym miejscu co linijka z addclass wyświetla tekst który sobie wpisze ale z akcjami typu DOM chyba jest inaczej? Mądrze się a nie wiem ale tak czy siak nie wykonuje się jedno po drugim tylko czeka skrypt aż skończy mielić fotelach w funkcji
$(".filtr").click(function() -------------------- www.Opiekuj.pl
|
|
|
3.03.2021, 07:33:01
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A co się dzieje po usunięciu pętli?
Ile jest elementów apartamenty i gdzie inicjujesz tą zmienną? -------------------- |
|
|
3.03.2021, 11:28:47
Post
#5
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 0 Dołączył: 27.02.2008 Ostrzeżenie: (0%) |
jak usune petle to leci z wykonywaniem po kolei. wlasciwie to nie widac przez chwile preloader bo jest show i hide po sobie
210 apartamentow a jeszcze mam pytanie o to apartamenty.forEach(function(id) {}) wyswietli jak skonczy sie petla a czy da sie wyswietlac w trakcie wykonywania petli? -------------------- www.Opiekuj.pl
|
|
|
3.03.2021, 11:46:50
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Spróbuj owinąć pętlę w:
-------------------- |
|
|
7.03.2021, 07:41:44
Post
#7
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) |
jak usune petle to leci z wykonywaniem po kolei. wlasciwie to nie widac przez chwile preloader bo jest show i hide po sobie 210 apartamentow a jeszcze mam pytanie o to apartamenty.forEach(function(id) {}) wyswietli jak skonczy sie petla a czy da sie wyswietlac w trakcie wykonywania pętli? ten kod nie jest napisany tak aby czekał jak skończy się pętla, ten kod modyfikuje DOM w każdym przebiegu pętli, dzieje się to po prostu tak szybko że nie zauważasz tego, aby to sprawdzić wystarczy dać pauzę KILKA sekund opóźnienia na końcu pętli (nie znaczy to poza pętla ale przed jej zakończeniem) a przekonasz się że tek kod przed pętlą o który pytałeś wcześniej wykonuje się najpierw i że każda linia wykonuje się na stronie jedna po drugiej nie czekając na koniec pętli. funkcja opóźniająca Kod function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } użycie funkcji aby opóźniać wykonywanie pętli w mili sekundach, 1 sekunda to 1000 mili sekund, poniżej to 2 sekundy Kod await sleep(2000);
Ten post edytował LowiczakPL 7.03.2021, 07:38:29 -------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.09.2024 - 00:13 |