What the heck is the event loop anyway? | Philip Roberts | JSConf EU

Ғылым және технология

JavaScript programmers like to use words like, “event-loop”, “non-blocking”, “callback”, “asynchronous”, “single-threaded” and “concurrency”.
We say things like “don’t block the event loop”, “make sure your code runs at 60 frames-per-second”, “well of course, it won’t work, that function is an asynchronous callback!”
If you’re anything like me, you nod and agree, as if it’s all obvious, even though you don’t actually know what the words mean; and yet, finding good explanations of how JavaScript actually works isn’t all that easy, so let’s learn!
With some handy visualisations, and fun hacks, let’s get an intuitive understanding of what happens when JavaScript runs.
Transcript: 2014.jsconf.eu/speakers/philip...
License: For reuse of this video under a more permissive license please get in touch with us. The speakers retain the copyright for their performances.

Пікірлер: 1 700

  • @sumanyusoniwal5194
    @sumanyusoniwal5194Ай бұрын

    9 years later, and this is still pure gold.

  • @vitvitvitvitvitvitvitvit

    @vitvitvitvitvitvitvitvit

    16 күн бұрын

    yeah, but now there are microTask queue too, which one is prioritized and execute the callbacks before task queue

  • @marios2liquid
    @marios2liquid9 жыл бұрын

    This talk is the perfect example of "If you can't explain it simply, you don't understand it well enough". Well done Philip.

  • @MehdiRaash

    @MehdiRaash

    4 жыл бұрын

    That's quit simple!

  • @JenJHayden

    @JenJHayden

    4 жыл бұрын

    agreed

  • @gopalgplus

    @gopalgplus

    4 жыл бұрын

    Agreed!

  • @pastuh

    @pastuh

    4 жыл бұрын

    CS50 teacher explains very well too.. Sometimes i'm worried he will forget to breath..

  • @seongamkim4834

    @seongamkim4834

    4 жыл бұрын

    That sounds wonderful.

  • @apoorvasa1026
    @apoorvasa10262 жыл бұрын

    Today I had interview and was asked about execution context and i explained him based on this video. my interviewer was so impressed with the my answer. he said "This is the best explanation i have heard so far". made my day 🙂

  • @davidlee588

    @davidlee588

    2 жыл бұрын

    amazing

  • @mohamedGado3

    @mohamedGado3

    2 жыл бұрын

    nice!

  • @darthvader1368

    @darthvader1368

    Жыл бұрын

    Did you get the job though?

  • @zikoelitbook1422

    @zikoelitbook1422

    Жыл бұрын

    Nice !

  • @damonesswu8254

    @damonesswu8254

    Жыл бұрын

    congratulations

  • @syedmuhammadibtisam441
    @syedmuhammadibtisam441 Жыл бұрын

    He understood it in 18 months, for me it took 26 minutes, that is how much he helped me, really appreciate it. Time is all you have. Thank you man!!!

  • @simpleffective186

    @simpleffective186

    8 ай бұрын

    Not nearly at the same level though

  • @AndreOliveira-vq7iv
    @AndreOliveira-vq7iv5 жыл бұрын

    13:45 "The event loop job is to look at the stack and look at the task queue. If the stack is empty, it takes the first thing on the queue and pushed it on to the stack."

  • @mementomori8856

    @mementomori8856

    3 жыл бұрын

    what if there's multiple tasks in the queue ... and they'll get done in some order ... doesn't that make it a sync-function of it's world??

  • @mementomori8856

    @mementomori8856

    3 жыл бұрын

    never mind ...

  • @khaledelnagar4135

    @khaledelnagar4135

    3 жыл бұрын

    @@mementomori8856 it's async for you as a developer, but at the end, there has to be a queue for that poor single thread... serverless is serverless for you but at the end there has to be a server to run your code!

  • @viridianite

    @viridianite

    Жыл бұрын

    @@khaledelnagar4135 This makes no sense

  • @kaelon9170

    @kaelon9170

    Жыл бұрын

    @@viridianite It does make sense, but only if you have some basic working knowledge or better on how multithreading works, and the fact that JS is still a single-threaded language despite supporting asynchronous code.

  • @sunmustbedestroyed
    @sunmustbedestroyed9 жыл бұрын

    I like this guy. He's so humble and explains things with such clarity - an for a universal audience. That's no easy feat.

  • @ChrisBrooksbank

    @ChrisBrooksbank

    9 жыл бұрын

    John totally agree, great presentation

  • @hoorayimhelping3978

    @hoorayimhelping3978

    8 жыл бұрын

    +John Yeah! I just saw he's from &yet, they seem like a really thoughtful bunch

  • @raigorstonehoof6477

    @raigorstonehoof6477

    4 жыл бұрын

    This was hardly for an universal audience

  • @thothtrismegistus929

    @thothtrismegistus929

    4 жыл бұрын

    @@bvrulez why man?

  • @Daniel_WR_Hart

    @Daniel_WR_Hart

    3 жыл бұрын

    "Fucking Gilfoyle"

  • @domaincontroller
    @domaincontroller3 жыл бұрын

    00:53 how does javascript actually work ? 02:46 V8, setTimeout 04:03 the call tack 07:18 blocking, what happens when things are slow 10:35 aynchronous callbacks, setTimout 11:13 aynchronous callbacks, the call stack 11:56 concurrency 12:50 stack, webapis, eventloop, task queue, console

  • @FoysalAhmed-gd9sp

    @FoysalAhmed-gd9sp

    Жыл бұрын

    00:53 how does javascript actually work ? 02:46 V8, setTimeout 04:03 the call stack 07:18 blocking, what happens when things are slow 10:35 aynchronous callbacks, setTimout 11:13 aynchronous callbacks, the call stack 11:56 concurrency 12:50 stack, webapis, eventloop, task queue, console

  • @luciferonetwothree2030
    @luciferonetwothree20305 жыл бұрын

    watching this in 2019, and it is still the best source to learn JS event loop.

  • @bennyrussell4966

    @bennyrussell4966

    4 жыл бұрын

    couldn't agree more, just rewatched it there for a refresh

  • @castelocl

    @castelocl

    4 жыл бұрын

    watching this in 2020

  • @petrd6173

    @petrd6173

    4 жыл бұрын

    @@castelocl and still relevant!

  • @user-xb8bk1hd8s

    @user-xb8bk1hd8s

    4 жыл бұрын

    still the best in 2020

  • @yuanmin6496

    @yuanmin6496

    4 жыл бұрын

    @@user-xb8bk1hd8s I agree

  • @thedevcyclist
    @thedevcyclist8 жыл бұрын

    Best event-loop explanation ever .... !!!

  • @johannbauer2863

    @johannbauer2863

    5 жыл бұрын

    What about Jake Archibalds explanation?

  • @R3fuge
    @R3fuge2 жыл бұрын

    8 years ago and this is still my favorite explanation of the event loop. Brilliant communication.

  • @BURN-ADDiCT
    @BURN-ADDiCT2 жыл бұрын

    "I did not do a computer science degree, so these words... they're words" I relate so so deeply with that

  • @nadiar.syaripul
    @nadiar.syaripul8 жыл бұрын

    this video changed my life,.. great

  • @babas_babas

    @babas_babas

    8 жыл бұрын

    +Nadiar AS Same, his show is really clear, I learned so much thanks to him :p

  • @jonnieve2483

    @jonnieve2483

    7 жыл бұрын

    Yeah, awesome presentation

  • @lakshithaweerakkody5326

    @lakshithaweerakkody5326

    6 жыл бұрын

    Truly is. Mine too. Simply Brilliant Video

  • @aishahale5504

    @aishahale5504

    5 жыл бұрын

    You need to know about Tony Alecia

  • @Gigusx

    @Gigusx

    5 жыл бұрын

    lol.

  • @djkater
    @djkater7 жыл бұрын

    the gareth bale of js!

  • @quanghoang8031

    @quanghoang8031

    5 жыл бұрын

    so great!!

  • @BudyKIr

    @BudyKIr

    5 жыл бұрын

    was thinking that he looks like Gareth

  • @thelolladorfking2416

    @thelolladorfking2416

    4 жыл бұрын

    Exactly !!

  • @SushilYadav7

    @SushilYadav7

    4 жыл бұрын

    🤣

  • @radoncreepgaming2604

    @radoncreepgaming2604

    3 жыл бұрын

    😂😂

  • @andriciandu
    @andriciandu5 жыл бұрын

    For videos like this, youtube should implement a multi-thumbs-up system.

  • @RockDavid

    @RockDavid

    4 жыл бұрын

    They already do, how else you think Fake news is so "Popular" these days

  • @coldblackice

    @coldblackice

    2 жыл бұрын

    @@RockDavid I think you misunderstood what he was meaning.

  • @c3eb4
    @c3eb44 жыл бұрын

    i can't even express how much i appreciate this video. i watch it every couple of months as a refresher. and encourage my team to do the same.

  • @Hariharan-sh6bo
    @Hariharan-sh6bo4 ай бұрын

    Graduated in 2015, worked in JS alone for 4+ years, discovered this only today! Thank you

  • @ManasGupta_mag
    @ManasGupta_mag7 жыл бұрын

    This guy just cleared the stack for my callback queue of understanding javascript to execute. Great explanation.

  • @Nadrioc

    @Nadrioc

    4 жыл бұрын

    @@xxicenturyfuck1195 He mentions he used Keynote, which is the powerpoint for Apple software. There a ton of tutorials online showing how to do animations

  • @braunbaerhh
    @braunbaerhh3 жыл бұрын

    7 years later some things have changed. Now we have service workers in a seperate thread. And we have await/async functions. But yes, this talk makes the things clearer to understand. thank you!

  • @nosajghoul
    @nosajghoul9 жыл бұрын

    @19:18 you can see his history. I found it reassuring that a guy with this level of knowledge still has to look up the syntax for Date(). :-) Great dissection of the event loop.

  • @timeslowingdown

    @timeslowingdown

    5 жыл бұрын

    Good example of why code interviews that just test how well someone has memorized various language apis/functions are an ineffective way to determine the candidate's knowledge :)

  • @lighterinthestorm

    @lighterinthestorm

    4 жыл бұрын

    @@timeslowingdown None of those tests actually check if you have those things memorized. All those tests are there to see how you look for the best available solution

  • @timeslowingdown

    @timeslowingdown

    4 жыл бұрын

    @@lighterinthestorm Finding the solution to a single function with input and output is very different than writing an entire application or maintaining it, so I beg to differ

  • @kotekutalia

    @kotekutalia

    4 жыл бұрын

    That's why Incognito Mode exists

  • @theshermantanker7043

    @theshermantanker7043

    3 жыл бұрын

    Remembering the correct parameters for a function in a library is not a prerequisite for being a good developer, in the same way that needing a calculator in a math exam doesn't mean you're cheating. If you like calculating or memorising sure go ahead, but if you're lazy it's fine

  • @AshokDey
    @AshokDey7 жыл бұрын

    It's the first time I'm giving a comment in 7 years. This guy did such a great presentation. It was fantastic. Such a complex topic broken down into small lucid chunks ! Great work.

  • @Martinit0

    @Martinit0

    2 жыл бұрын

    Puh, hey I'm your callback. Why did you queue me with 5 years delay?

  • @element3663
    @element36633 жыл бұрын

    This gave me a breakthrough moment in realizing how async JS actually works. Really good talk.

  • @guilhermeferreirabr
    @guilhermeferreirabr2 жыл бұрын

    Funny how many "senior" JS devs think that they are clever AF because they interview you with this kind of questions but, in here, he managed to explain so clearly these concepts that destroy all the "mystery" of these guys intelligence ... What an awesome explanation! Simple and sharp!

  • @DecaSpace
    @DecaSpace7 жыл бұрын

    The intro music tho.... I turned off the lights and got my glowstick game on. He's amazing. It was an excellent video. My ADHD did not kicked in ever while watching it. 10/10. Will buy again.

  • @ClaymorePT
    @ClaymorePT7 жыл бұрын

    From someone who does not have a degree in computer science, I have to say, this is one hell of a good explanation! I only which that the teachers that I had during my CS degree, explained things as good as this guy. Really awesome!

  • @malakies999

    @malakies999

    3 жыл бұрын

    wish

  • @alejandrocr9293

    @alejandrocr9293

    Жыл бұрын

    wish

  • @schizo5189

    @schizo5189

    4 ай бұрын

    wish

  • @abdul.arif2000
    @abdul.arif2000Ай бұрын

    13:47, passes from webapi after settimeout() finishes to task queue and then the vet loop takes a look at the stack and if it's empty, then it goes and takes what's in task you and put it into the stack. 14:57 Async stuff we do setTimeout(function cb() { console.log('there'); }, 0); and then this code will execute after the stack is empty of the other code 23:53 example of not blocking the event loop - they're saying don't put slow shitty code on the stack because the browser can't do what it needs to do which is create a nice fluid UI, 23:34 we can't select anything on the screen while the stack has items, whereas at 23:57 they all go to the callback queue after going through webapis and so it's a clear stack for render queue to render the screen incrementally.

  • @OwenMcKenna
    @OwenMcKenna9 күн бұрын

    His tool, Loupe, which he introduces here, visualises the JS runtime at run time. 🌟 Just brilliant. 🌟 I wish I had seen this demo 10 years ago.

  • @prashantchauhan1360
    @prashantchauhan1360 Жыл бұрын

    One of the best js videos till today. I wonder it was uploaded 8 years ago. If i would have watched then I would be that much AOT (Ahead of time).

  • @ichiroutakashima4503
    @ichiroutakashima45038 ай бұрын

    You know this is the best video when content creators link this video and call it as the "best explanation for event loops".

  • @jonsanders2069
    @jonsanders20696 жыл бұрын

    I've returned to this video several times to engrain the concept of the event loop in my head. It's so clearly explained and so useful. Thanks so much for making it!

  • @MelMacaluso
    @MelMacaluso5 жыл бұрын

    Genius talk, seriously. Not hiding behind many fancy technicalities and being able to still convey high-level concepts and make them understandable is surely not an easy skill. Props!

  • @user-me6zq8wy9i
    @user-me6zq8wy9i6 ай бұрын

    2 mins into the video i thought let me skip this but then i watched it fully and now i am glad that i did

  • @thesuperiorman8342
    @thesuperiorman83423 жыл бұрын

    I'm watching this in 2021. I overlooked this video because it's old. Well I came back because I was disappointed with all the other more recent videos I watched. The speaker here did an excellent job at simplifying the topic. I'm so glad I watched this. I just hope it is still very relevant today. I can't imagine much has changed.

  • @navaneethagastya
    @navaneethagastya9 жыл бұрын

    Really, Amazing talk, bro! :) Once I came up across a scenario where calling a function, say "func()" did not work rather, setTimeout(func, 0) worked! Now, I understood the reason completely!! :)

  • @manojmj5479
    @manojmj54795 жыл бұрын

    This video is life-changing! Thank you for this, Philip! It takes great understanding to explain complex things in simple ways. And thank you for not gatekeeping - we need more people to come into tech and videos like this make sure that even noobs understand and can work with seemingly hard concepts!

  • @Silenoid
    @Silenoid3 жыл бұрын

    This is better than anything any professor have ever done to explain anything to me in university.

  • @plsrematch4071
    @plsrematch40717 ай бұрын

    Just came from Theo t3. I’m a web dev fresh out of college with about 5 months full time experience. This was awesome. Still teaching us almost 10 years later!!

  • @hraynaud
    @hraynaud8 жыл бұрын

    This is by far one of the best presentations on any programming concept I've ever seen. Absolutely brilliant. Thank you!!

  • @agusmoles
    @agusmoles5 жыл бұрын

    2019 and this is still awesome. Great explanation!

  • @Combine1331
    @Combine13315 жыл бұрын

    Great teachers are like Phillip Roberts - explaining as simple as that. Thank you, Phillip! You brought hope to my life!

  • @rameshwari
    @rameshwari3 жыл бұрын

    Wow... amazing lecture. The way he is explaining is great. I wish a whole JS course should be taught by him.

  • @sushilkumartechy
    @sushilkumartechy7 жыл бұрын

    thanks @Philip Roberts first time I completely understand event loop :). If you have some other video on js please share.

  • @aishahale5504

    @aishahale5504

    5 жыл бұрын

    Javascript Understanding the weird parts

  • @NishadAhsan

    @NishadAhsan

    4 жыл бұрын

    @@aishahale5504 Different author.

  • @aishahale5504

    @aishahale5504

    4 жыл бұрын

    @@NishadAhsan Yes, try it.

  • @SofiaBelchiorinho
    @SofiaBelchiorinho2 жыл бұрын

    Who's watching in 2022? :) Great talk and tool, the JS dev community is forever grateful for this!!

  • @katdareshruti
    @katdareshruti4 жыл бұрын

    Finally it took a non-science graduate to explain this to me! Bravo Philip. God Bless u. Struggling with this simple thing for sooooo long!

  • @johnnychan6755
    @johnnychan67558 жыл бұрын

    I have been trying very hard understanding this whole JavaScript event-loop, callback, and asynchronous concepts for WEEKS (and failed), despite tons of google searches, article readings and tutorials. I think I finally "got it" after watching this video. So thank you SO MUCH for the talk Philip!!! (and thanks for sharing this JSConf!). I sense "hope"... in understanding and using JavaScripts :)

  • @ravabat5841

    @ravabat5841

    4 жыл бұрын

    It's true!

  • @maximpekarsky7266
    @maximpekarsky72662 жыл бұрын

    This was my introduction to great conference talks, and, I really believe, one of the experiences that turned me from hobbyist to developer.

  • @bharghavak
    @bharghavak Жыл бұрын

    Some explanations are so good that you understand the concept crystal clear. It really sticks with you, thank you.

  • @baldEagle_
    @baldEagle_3 жыл бұрын

    i show this video to my GrandMother ... now she understands what Event Loop is.. what good explanation.

  • @inordirection_
    @inordirection_2 жыл бұрын

    I've been watching some interviews and mocks preparing for my own, and people nebulously reference 'the event loop' and single-threadedness very often, like "How does X work?" "ahh, the event loop", but more in a buzzword way than as an explanation, so thank you for this video. It was super helpful

  • @TheHolyReality
    @TheHolyReality7 жыл бұрын

    Interesting how no textbooks mention this stuff wich in my opinion is crucial in understanding core javascript and especially closures (especially when every example on closures out there contains *for* loop with setTimeout and never explains or even mentions event loop and why does *for* loop first finish its iterations and then invokes setTimeout callbacks)

  • @ihateslowcars

    @ihateslowcars

    7 жыл бұрын

    I just made the connection with what you're saying! It finally makes sense!

  • @johnb1391

    @johnb1391

    6 жыл бұрын

    What he means is that a very common practice question given to novices to see if they understand closures is the following: const arr = [0,1,2,3]; for (var i = 0; i setTimeout(function() { console.log('index ' + i + ', value: ' + arr[i]); }, 3000); } //Prints 'index 4, value: undefined' The issue here is that because var is function scoped and not block scoped, i will break out of the loop when it hits the value 4 (as i will now equal arr.length, breaking the test of the for loop). As index 4 is out-of-bounds, it returns undefined as the value for arr[4]. Closures via something like the let keyword mitigate this problem, however. So the test in question is to see whether or not the novice understands the issues of closure with var versus the new block-level variable definers: let and const.

  • @raulnoheagoodness

    @raulnoheagoodness

    6 жыл бұрын

    Javascript: The Good Parts by Doug Crockford explains closures very well. Also function-orientation. Other core JS lang features, but not the event loop.

  • @chriscorrigan14

    @chriscorrigan14

    5 жыл бұрын

    @@johnb1391 Or maybe a less granular way to explain it is: once the for loop is done setting up the setTimeout callbacks, it is finished, and the variable is at its final value of 4. Meanwhile the callbacks run for 3 seconds each, and they are still active - when they print the value of i, it is always 4 (unexpected). You can create closures around the timeout function value to keep the value of i as it was when the callback was created, by either passing it to a function outside of the loop to create the callback, or just making that setTimeout function an IIFE - immediately invoking it creates the closure while the i is still at its iterative value. Well I guess that was more words lol. Is there any simple way to explain closures?

  • @boliussa

    @boliussa

    4 жыл бұрын

    @@chriscorrigan14 thanks that's a great explanation,, can you include some code examples for "You can create closures around the timeout function value to keep the value of i as it was when the callback was created, by either passing it to a function outside of the loop to create the callback, or just making that setTimeout function an IIFE "?

  • @mdmobasshir595
    @mdmobasshir59511 ай бұрын

    8 years down the lane for this video, current in year 2023. Buffering through many videos on event loop still find this one the best. The energy of this man...can feel it on screen as well. Wish i could attend his session once in my life in person.

  • @MrLiudongtony
    @MrLiudongtony3 жыл бұрын

    Watched it at the end of year 2020 and it is still one of the best in its kind to explain the event loop.

  • @sethfeingold
    @sethfeingold4 жыл бұрын

    This will no doubt remain a fantastic presentation well into 2020 and beyond. Thank you, Philip!

  • @prashantchauhan6591
    @prashantchauhan65912 жыл бұрын

    watching this in 2022 and still one of the best resource to learn JS event loop.

  • @msbecks3806
    @msbecks38063 жыл бұрын

    Honestly, your explanation is down-to-earth for the understanding of all. Great work!

  • @CodeSynergy
    @CodeSynergy Жыл бұрын

    oh, that was in 2014 and I thought it is the latest talk, amazing!

  • @carlellis9647
    @carlellis96473 жыл бұрын

    This is one of the best lectures on JavaScript that I've seen anywhere. Phillip does a great job of using visualization to explain some of the more complicated aspects of JavaScript programming while making it look easy. That's truly commendable.

  • @zackisser2451
    @zackisser24514 жыл бұрын

    No matter how awesome and great a video is you'll always find dislikes ... Who are you people ? What was the reason to dislike this ?

  • @idrisawedazubair2562
    @idrisawedazubair25629 ай бұрын

    I've literally read many articles trying to understand this very well, but now I think I do. His explanation is amazing.

  • @chunk1978
    @chunk19785 жыл бұрын

    This is by far the most informative and accessible talks about asynchronous functionality in JavaScript. Thanks, Philip, for showing us the light.

  • @shalizi1280
    @shalizi12808 жыл бұрын

    This is absolutely a marvelous explanation of event loops within javascript. It doesn't get better than this, thank you.

  • @yeshiqing8929

    @yeshiqing8929

    6 жыл бұрын

    Do you know what the ppt is made by? I like the ppt style(animation most). but i think the microsoft ppt is so heavy

  • @4Y0P

    @4Y0P

    5 жыл бұрын

    Ye Shiqing its made in keynote

  • @dushyantsabharwal6706
    @dushyantsabharwal67064 жыл бұрын

    Its not just the content of the video that is amazing but also the slides are done so nicely and as a speaker i know making a simpler presentation on a technical topic is very hard. Kudos Philip!

  • @Middollo
    @Middollo Жыл бұрын

    I find myself coming back to this talk as i progress in my career as a JS developer. I think this is my third time watching it, it gets better every time. Well done.

  • @JoseSotoCanHelp
    @JoseSotoCanHelp9 жыл бұрын

    When I watched this video, I knew it would prove useful for my work. Less than a month later, it happened. Thank you for the great presentation!!

  • @joshdellay3603
    @joshdellay36039 жыл бұрын

    Talk about boss mode, great work by Philip! The loop tool he created is amazing for helping to visualize the runtime, event queue/loop and web api! I can only imagine the time that went into creating and researching how to build it and you can see by his facial expression how much of a challenge it must have been hahah!

  • @aminukano_
    @aminukano_4 жыл бұрын

    I just pause while watching to recheck the speaker's name, wondering that we still have such great speakers. This is by far the best tech conference talk I ever watched in my life!!

  • @BlueTreeCode
    @BlueTreeCode5 жыл бұрын

    Honestly one of the best videos I've come across. Everything is explained so clearly. He Is excellent at what he does and I hope to hear more from him!

  • @okikiolaosunronbi8766
    @okikiolaosunronbi8766 Жыл бұрын

    This has to be one of the best explanations out there about the event loop.

  • @DanielRamBeats
    @DanielRamBeats8 жыл бұрын

    Really awesome talk, I knew conceptually what was happening in the event ques prior to watching this, but the visualizations clarify it so well.

  • @sredna3714
    @sredna37145 жыл бұрын

    So helpful! Great video. I've been learning computer science for years and you still explained all of this better than any professor I've had. Major kuddos to you :)

  • @Samuel-wi1dh
    @Samuel-wi1dh3 жыл бұрын

    Still watching this in 2020 and has made JS clearly than anything, and the joke at ~ 17:30 was great to see. Shows personality and gives an almost Steve Jobs feel. Top draw.

  • @user-sl6zf3te7t
    @user-sl6zf3te7t2 жыл бұрын

    Рассказ, понятней чем этот мне ни разу не встречались. Спасибо большое за видео и за перевод

  • @timzhang8751
    @timzhang87514 жыл бұрын

    watching this is 2020, and it is still the best source to learn JS event loop.

  • @kevinbuffington4008
    @kevinbuffington40082 жыл бұрын

    I randomly watched this video a week or two before I went on a job interview five years ago. The event loop came up in some advanced JS discussion and I'm convinced it's a big part of why I got the job. Got another interview coming up and I figured I should probably revisit this just to make sure I still remember it. Still just as informative as I recall.

  • @sirartemis7992
    @sirartemis79922 жыл бұрын

    hi from student in Yandex-Praktikum web development courses in Russia. For me as a beginner to understand how js works, this video was very informative. so thanks for him and all the best

  • @sahilattri51
    @sahilattri518 жыл бұрын

    brilliance! Absolutely stunning. Thank you

  • @yogeshdharya3857
    @yogeshdharya3857 Жыл бұрын

    Watching this video in 2022 , still a great source for some one who willing to understand asynchronous behavior in JS .

  • @parveznawaz99
    @parveznawaz992 ай бұрын

    Philip describes the event loop mechanism in a perfect way. Lots of love and respect.

  • @Josematube
    @Josematube8 жыл бұрын

    Great explanation.

  • @juanmanueltoni2506
    @juanmanueltoni25069 жыл бұрын

    Amazing,!! the best and simplest explanation I've seen, thanks

  • @cronus663
    @cronus6632 жыл бұрын

    I remember I watched it back in 2016, and now in 2022, I came back to check if it was as good as I remember, and... yes, it's definitively is. There's a real good stuff here, congrats Philip!

  • @azur3125
    @azur31253 ай бұрын

    This might be one of the best lectures/presentations I have ever seen. So clear and makes the topic easy to understand. Fabulous work!

  • @yatin1370
    @yatin137011 ай бұрын

    I am a new to JS and this helped me immensely understand what's going on under the hood. Thank you Philip. For anyone interested in checking out the async forEach example working code, its below: function asyncForEach(array, cb) { array.forEach((el) => { setTimeout(() => cb(el), 0); }); } asyncForEach([1, 2, 3, 4], function (i) { console.log(`This is me: ${i}`); });

  • @syedbaryalay5849
    @syedbaryalay58495 жыл бұрын

    worth every second, watching it the second time.

  • @rahulraut1569
    @rahulraut15695 жыл бұрын

    This video has helped me cracking interviews!! Thanks Man!

  • @arinspanner
    @arinspanner2 жыл бұрын

    I love this talk, he explains asynchronous code so it's totally intuitive and clear. Thanks Philip!

  • @dcascato
    @dcascato2 жыл бұрын

    The reason why this video is so awesome for many people, is cause he really had the doubts a truly beginner has.

  • @mohammedelhadididi4612
    @mohammedelhadididi46123 жыл бұрын

    This lecture is just a masterpiece

  • @tak68tak
    @tak68tak5 жыл бұрын

    the best video ever seen. it's still awesome in 2019!

  • @rt-uh6mt
    @rt-uh6mt2 жыл бұрын

    OK, I just finished watching this 20 times in a row and now, I finally have it fully memorized. Can't wait to recite it all to my next interviewer.

  • @zahinhasan3748
    @zahinhasan37482 жыл бұрын

    Honestly, I watched it last night while sleeping but the way my guy explained was so good that I am still thinking about the diagrams he showed this morning!

  • @gnclmorais
    @gnclmorais8 жыл бұрын

    Excellent presentation! 👏👏👏

  • @kwstasl2
    @kwstasl28 жыл бұрын

    Great explanation! Just one note: at 23:35 , lines 12 and 13, I think it should instead be array.forEach(function (i) { setTimeout(cb, 0, i); or else the array element will not be passed to the callback and console.log() will log them as 'undefined'.

  • @hoangminhvu2425

    @hoangminhvu2425

    8 жыл бұрын

    +kwstasl2 Thanks!

  • @kwstasl2

    @kwstasl2

    7 жыл бұрын

    ***** You're right

  • @muratcan__22

    @muratcan__22

    3 жыл бұрын

    Yeah, thanks

  • @justadev____7232
    @justadev____72323 жыл бұрын

    Mind blown!!!!! The lightbulb just turned on. THANK YOU!!!!!!

  • @dynamic75
    @dynamic753 жыл бұрын

    Thank you for breaking down these concepts into more digestible pieces, still trying to comprehend all of the details but I get the overall idea. Great job!

  • @teamworkucla
    @teamworkucla8 жыл бұрын

    Well explained! Thank you.

  • @oksanaserhiivna2634
    @oksanaserhiivna26345 жыл бұрын

    Fantastic explanation!!!

  • @msshwetap7095
    @msshwetap70953 жыл бұрын

    This explanation changes my life every time I watch it. Thank you!

  • @Mindphaser1
    @Mindphaser14 жыл бұрын

    For anyone interested: the audio snippet at the beginning of the video is Ellen Allien - Sensucht. I recognized that track right away.

  • @rozoneri
    @rozoneri9 жыл бұрын

    thank you, excellent presentation.

  • @mbasitbilal
    @mbasitbilal7 жыл бұрын

    best explanation ever ! literally

Келесі