Wpis z mikrobloga

#javascript #js
Witam,
mam do was pytanie, mianowicie jakiś czas temu zacząłem przerabiać książki Kyla Simpsona YDNJS. Wszystko grało i buczało, aż do tego momentu. Dzisiaj zacząłem asynchroniczność i wydajność, i za cholerę nie wiem o co chodzi i po co to w ogóle. Znaczy już wiem, że asynchroniczność lepsza, że wykonywanie kodu w tle, brak czekania aż się wszystko wykona, ale jak do tej pory w js to z takich większych projektów zrobiłem grę w wisielca i naprawdę prosty kalkulator, i za bardzo nie mogę tego nigdzie dopasować, i jeszcze jakieś żądania AJAX'owe (do tej pory brak jakiejkolwiek styczności z framworkami i AJAX'em). No i zastanawiam się czy porzucić to teraz, bo na razie jest to dla mnie czarna magia (i jeszcze te żądania AJAX'owe) i brać się za następną książkę. Jak jest u was z tą asynchronicznością? Często z niej korzystacie? Są do tego jakieś wzory tak jak do modów, albo framworki? A może macie jakieś korzystniejsze i jaśniejsze kursy? Bo autorowi omówienie tego problemu zajęło z połowę książki (to jest z jakieś 120 stron) ( ͡° ʖ̯ ͡°)
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@atpl77 jedna z pierwszych serii polecanych dla początkujących. Spotkałem się z takim stwierdzeniem na kilku forach. Ale chyba faktycznie Asynchroniczność odołożę narazie na bok i wezmę się za coś mniejszego.
  • Odpowiedz
@pempuszek: Ale przecież "normalnie" korzystając z JavaScripta też korzystać z asynchroniczności :) Tu nie chodzi o to że Twój kod ma lecieć w tle, wielowątkowość czy coś. Tu chodzi tylko o to że operacje które generalnie mają pewien czas oczekiwania na wynik niezależny od Twojego kodu (np. odczyt pliku z dysku chwilę trwa) nie zwracają Ci wyniku "od razu" tylko wywołują funkcję którą im przekazałeś w parametrze.

window.document.onready = function() {}
$('button').click(
  • Odpowiedz
Ja bym jeszcze dorzucił ten filmik: https://www.youtube.com/watch?v=8aGhZQkoFbQ

asynchroniczność kładzie prawie każdego na początku. Ja lubię tłumaczyć, że w miejscu, gdzie deklarujesz jakieś działanie asynchroniczne, to w momencie wykonywania, gdy normalnie javascript leci linijka po linijce (synchronicznie) i trafia na działanie asynchroniczne to nie czeka na jego wykonanie tylko leci dalej. Można powiedzieć, że w kodzie NIE WYKONAŁEŚ jakiejś pracy/działania, tylko ją ZLECIŁEŚ. Synchronicznym działaniem było ZLECENIE wykonania pracy, która wykona się gdzieś
  • Odpowiedz
@pempuszek: Właśnie źle zrobisz według mnie jak odłożysz asynchroniczność na bok. Skoro opanowałeś już JavaScript to spróbuj wykonać kilka przykładów dotyczących asynchroniczności z linku, który Ci podałem i użyj do tego czystego JavaScriptu. W przyszłości spróbuj to samo wykonać za pomocą jQuery.

Ogólnie gdybym miał tłumaczyć asynchroniczność, to

1. masz na swojej stronie przycisk np. "Pobierz dane"
2. na swojej stronie masz
  • Odpowiedz
@atpl77: @larvaexotech: @Afrael: Panowie, dziękuję za konkretne wytłumaczenie i za linki. Po przeczytaniu waszych wyjaśnień i dzisiejszej pracy z kodem faktycznie nie jest to już takie skomplikowane jak wydawało mi się to wcześniej, a jak poświęcę na to jeszcze trochę czasu to w ogóle będzie git.
  • Odpowiedz