Created
February 10, 2018 08:41
-
-
Save ddeveloperr/f91e85649e31285c16be9f6fc148a8cb to your computer and use it in GitHub Desktop.
Primjer Asynchronog rada Javascripta
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Primjer Asynchronog rada Javascripta | |
| function printHello() { | |
| console.log(`I na kraju, primamo selame i tople pozdrave iz | |
| printHello funkcije !`); | |
| } | |
| function blockFor1Sec() { | |
| // Blokiramo JS thread, radimo bilo sta... | |
| const tajnaAsynchronogJs = | |
| `Pauza, odmori malo! | |
| Pauza, odmori jos malo! | |
| Nek se zna ko je gazda vazda! | |
| Ja sam funkcija blockFor1Sec(), | |
| Iako sam pozvana poslije setTimeout() koji je | |
| setovan na 0ms ipak ja imam prednost u threadu! | |
| Ja blokiram "Call Stack", zezam se, vrtim | |
| cooliram... | |
| Tek kad ja zavrsim i oslobodim "Call Stack" | |
| setTimeout, koji je pozvao printHello metodu moze | |
| izaci iz dosadnog reda za cekanje "Callback Queue"-a | |
| i uci na "Call Stack"! | |
| Ali i printHello mora sacekati console.log() metodu koja | |
| vam salje pozdrave i selame od AsynchronogJS-a! | |
| U tome je sustina Asynchronog rada Javascripta!`; | |
| console.log(tajnaAsynchronogJs); | |
| } | |
| setTimeout(printHello, 0); | |
| blockFor1Sec(); | |
| console.log("Ja sam takodjer prije printHello funkcije, sad znate i zasto!"); | |
| // Resosljed izvrsavanja | |
| // 1. blockFor1Sec(); | |
| // 2. console.log("Ja sam takodjer prije printHello funkcije, sad znate i zasto!"); | |
| // 3. setTimeout(printHello, 0); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment