Letní akce Letní akce
Pouze tento týden sleva až 80 % na kurzy PHP. Lze kombinovat s akcí Letní slevy na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!
Avatar
Vojta Korduliak:5. února 17:28

Ahoj,
chtěl bych se zeptat na pár věcí..
Doporučil by mi někdo prosím nějaký dobrý tutoriál pro asynchronní JavaScript?
Jak fungují funkce catch, then a tak celkově promise?
K čemu se vlastně používá asynchronní JS?

Nemohl jsem najít nic (pro mě) srozumitelného v češtině, tak píšu sem.
Děkuji za pomoc.

 
Odpovědět 5. února 17:28
Avatar
gold604
Člen
Avatar
gold604:5. února 17:36

Trošku offtopic, ale odporúčam toto video ohľadom event loop-u pre tých, ktorí vedia po anglicky. Lepšie vysvetlenie som zatiaľ nevidel... Klobúk dole. :)

Editováno 5. února 17:38
 
Nahoru Odpovědět 5. února 17:36
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6. února 9:19

synchonni js - nedava smysl

Asynchonni prenos - funguje tak, ze uzivatel pozada o data a druha strana mu je posila. Mezitim s programem je mozne delat dalsi kod.

Synchroni - tvuj kod ceka na dostahovani souboru. Pokud druhy server je pomaly, 40 min., tak tvuj program 40min je zasekly.

Ve win funguje neco jako planovac uloh. Ty mu zadas ukol, stahuj soubor a on se pokusi kazdych treba 100ms kontaktovat druhy pc a pozadat ho o data. Tato operace trva treba 10ms, kdyz nedostane odpoved, 80ms, kdyz ano. V pripade zadnych dat muze tvuj program delat neco jineho.

U js to funguje tak, ze pro asychronni prenos potrebujes predat funkci odkaz na navratovou funkci. Cili, co se ma udelat, az bude soubor dostahovan.
synch - A(); B(); C();
asynch - A(C); B();
A je prenosova funkce, B nejaky kod, na kterem ti nezalezi, C funkce po ukonceni prenosu.
V prvnim pripade se ceka, az A skonci, pak se provede B a pak C.
V druhem pripade se spusti prenos A, a jestli bezi nebo ne, zacne se provadet B. Pokud prenos skonci driv, tak treba uprostred kodu B zacne provadet soucasne kod C.

Jestli chces neco podobneho, tak napriklad <img src="..." onload="C();">. Defaultne je prenos prohlizece asynchronni, takze si bude stahovat obrazek a zobrazi ti mezitim zbytek html kodu. A po skonceni stahovani spousti C.
Kdybys tam misto obrazku dal tag script, a ten js se ne a ne nacist, tak by se nemel zobrazit ani zadny html kod pod tagem. (ale takovou situaci resi kazdy prohlizec trochu jinak, takze, mozna se to takto nezachova)

<script src=url></script> Kod, ktery ceka na tag script
Editováno 6. února 9:20
 
Nahoru Odpovědět 6. února 9:19
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.