Programowanie asynchroniczne jest nieco bardziej skomplikowane, ponieważ konsekwencja wykonania żądania jest hermetyzowana w funkcji zamiast podążać za instrukcją żądania. Jednak zachowanie w czasie rzeczywistym, którego doświadcza użytkownik, może być znacznie lepsze, ponieważ nie będzie widział spowolnionego serwera lub powolnej sieci, co spowoduje, że przeglądarka będzie działać tak, jakby się zawiesiła. Programowanie synchroniczne jest lekceważące
i nie powinno być stosowane w aplikacjach, z których korzystają ludzie.
Douglas Crockford ( blog YUI )
W porządku, zapnij siedzenia, bo to będzie wyboista jazda. Coraz więcej osób pyta o dynamiczne ładowanie skryptów przez javascript, wydaje się, że to gorący temat.
Główne powody, dla których stało się to tak popularne, to:
- modułowość po stronie klienta
- łatwiejsze zarządzanie zależnościami
- obsługa błędów
- zalety wydajności
O modułowości : oczywiste jest, że zarządzanie zależnościami po stronie klienta powinno być obsługiwane bezpośrednio po stronie klienta. Jeśli potrzebny jest jakiś obiekt, moduł lub biblioteka, po prostu o niego prosimy i ładujemy dynamicznie.
Obsługa błędów : jeśli zasób się nie powiedzie, nadal mamy szansę zablokować tylko te części, które zależą od skryptu, którego dotyczy problem, lub może nawet spróbować ponownie z pewnym opóźnieniem.
Wydajność stała się przewagą konkurencyjną między stronami internetowymi, a obecnie jest czynnikiem rankingowym wyszukiwania. To, co mogą zrobić skrypty dynamiczne, to naśladować zachowanie asynchroniczne w przeciwieństwie do domyślnego blokowania sposobu obsługi skryptów przez przeglądarki. Skrypty blokują inne zasoby, skrypty blokują dalszą analizę dokumentu HTML, blok skryptów interfejs użytkownika. Teraz, dzięki dynamicznym znacznikom skryptów i ich alternatywom dla różnych przeglądarek, możesz wykonywać rzeczywiste żądania asynchroniczne i wykonywać zależny kod tylko wtedy, gdy są dostępne. Twoje skrypty będą ładowane równolegle nawet z innymi zasobami, a renderowanie będzie bezbłędne.
Powodem, dla którego niektórzy ludzie trzymają się skryptów synchronicznych, jest to, że są do tego przyzwyczajeni. Myślą, że jest to sposób domyślny, łatwiejszy, a niektórzy mogą nawet pomyśleć, że to jedyny sposób.
Ale jedyną rzeczą, o którą powinniśmy się troszczyć, kiedy trzeba podjąć decyzję dotyczącą projektu aplikacji, jest doświadczenie użytkownika końcowego . A w tej dziedzinie asynchroniczności nie da się pokonać. Użytkownik otrzymuje natychmiastowe odpowiedzi (lub obiecuje), a obietnica jest zawsze lepsza niż nic. Pusty ekran przeraża ludzi. Programiści nie powinni być leniwi, aby poprawić postrzeganą wydajność .
I na koniec kilka słów o brudnej stronie. Co należy zrobić, aby działał w różnych przeglądarkach:
- nauczyć się myśleć asynchronicznie
- zorganizuj swój kod tak, aby był modułowy
- organizuj kod, aby dobrze obsługiwać błędy i przypadki skrajne
- zwiększać się stopniowo
- zawsze dbaj o odpowiednią ilość informacji zwrotnych
eval()
każdy plik w podanej kolejności, w przeciwnym razie po prostu zapisz odpowiedź).