![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
mam pytanie natury optymalizacyjnej. Załóżmy, że mam do odwiedzenia 10 zewnętrznych adresów URL i używam w tym celu Ajaxa. W Tej chwili robię to tak, że każde kolejne żądanie jest wysyłane dopiero wtedy, gdy poprzednie zakończy się sukcesem. Kolejność tych pobieranych danych jest ważna, więc dzięki temu ją zachowuję. Zastanawiam się jednak czy nie lepiej po prostu wysłać 10 żądań jednocześnie i posortować dane jak już wszystko się pobierze? Czy prędkość załadowania wszystkich URL-i wzrośnie znacząco? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy coś w tej kwestii się zmieniło, ale przeglądarki mają coś takiego jak limit żądań w jednym czasie do jednego hosta. I chyba to było 3 lub 5. Wiem że to też również zależało od przeglądarki. Jeżeli to są różne hosty - ładuj wszystko jednocześnie. Jeżeli jeden, to i tak kolejka utworzy się przez samą przeglądarkę. No ale też jest kwestia co ty tam wczytujesz
![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Wiadomo, że jak lecisz synchronicznie to każde zapytanie blokuje Ci następne i to może spowolnić kolejne, bo np. dane zapytanie będzie długo oczekiwać na odpowiedź serwera. Np. jQuery.ajax właśnie działa asynchronicznie, więc zapytania lęcą na raz, ale można ustawić by działało to synchronicznie.
-------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Wiadomo, że jak lecisz synchronicznie to każde zapytanie blokuje Ci następne i to może spowolnić kolejne, bo np. dane zapytanie będzie długo oczekiwać na odpowiedź serwera. Np. jQuery.ajax właśnie działa asynchronicznie, więc zapytania lęcą na raz, ale można ustawić by działało to synchronicznie. Wiem o tym, ale nie widzę związku. W moim przypadku i tak nic nie mogę pokazać zanim się nie załadują wszystkie URL-e. Synchroniczne wysyłanie żądań odnosi się nie tylko do blokowania kolejnych żądań, ale do blokowania wszystkich akcji JavaScriptu. Ja nawet w obecnej metodzie nie używam synchronicznych żądań - kolejne żądania są wysyłane w funkcji zwrotnej poprzedniego. Chyba po prostu porobię testy ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 02:52 |